2017年1月29日日曜日

Ubuntuをアップデートしたら、400エラーが出るようになる

 結論から言うと、原因はJSPの中のjavascriptで、HTMLリクエストパラメータを全角文字などもそのまま送信していたのが原因でした。
 これまで、全角文字もそのまま送信していて問題はおきなかったのは、ブラウザ側あるいはtomcat?でうまく処理していてくれたためと思う。

 tomcatあるいはjavaあたりをアップデートした影響で、URLエンコードしてない影響がIE11にだけ現れたようだ。このへんの関係を発見するまで時間がかかった。

 400エラーが出るのは、IE11だけである。chromeやEdgeでは特に問題は起こってない。

 encodeURIにより、URLエンコードするだけで問題が解決した。デコードはとくにしなくても、だいじょうぶなようだ。ネットで検索しても、こういった症状が出てこなかったのは、基本的ミスだったからともいえる。

***************解決までの流れ
①Ubuntuサーバで、突然、IE11を使ったとき、全角のファイル名のときだけ、ダウンロードできなくなる。400エラーが出る。
②Vmware内の古いUbuntuサーバについては問題ない。試しにapt-get update
 すると、同じ症状が出る。原因はtomcatかjavaの影響?IE11との相性?いずれか、と考えた。
 ネットでは、IE11のUserAgentの文字がTridentに変わったことが、出ていたので対応させてみた。
 でも、これとは無関係だった。しばらく解決策がみつからない。
③他のリクエストパラメータを使うGETのところで、同じ症状(400エラー)が出ることを発見。
④③よりひょっとして、URLエンコードしていないのが原因でないかと疑う。試しにエンコードするように修正したら解決した。

※原因を見つけるには、試行錯誤しながら、考えるしかないようだ。

2017年1月24日火曜日

ポップアップ アラームを職場で

職場でPCにソフトをインストールするのはいろいろ制限もあるので
インストール無しで ポップアップアラームを使う方法を調べてみた。

VBSスクリプトを使う方法があり、参考になりました。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11134557286

タスクスケジューラで、起動するようにしておけばOkです。
ただ、他のソフトを使用中でも、最前面にポップアップ画面を出したいので
MsgBox "○○の時間です",vbSystemModal,"タスクスケジューラ"
のようにするといいようです。
あとは、タスクスケジューラの時刻設定の手間は若干ありますが、許容範囲かと。
いくつか、よくつかうvbsスクリプトを登録しておいて、時刻だけ書き換えて使いまわせばOkでしょう。

2017年1月21日土曜日

netcommons3

netcommons3を入れてみた。

phpの設定では
C:\xampp\htdocs\NetCommons3\app\Console\cake.batの中では
C:\xampp\php\php.exe -q "%lib%cake.php" -working "%CD% " %*
とする必要がある。

すでに入れてあるmsyql5.6を使おうとするが、なかなかうまくいかない。

sql_modeがSTRICT_TRANS_TABLESだと正常に動作しないということらしい。
一時的にset sql_mode="";コマンドで、空白にしてみる。

Mysqlのパスが、xamppとは違うので
C:\xampp\apache\conf\extra¥httpd-xampp.confの中で
 SetEnv MYSQL_HOME "\\Program Files\\MySQL\\MySQL Server 5.6\\bin"
としてみたが、これでもだめ。

mysqlで
再度,
set session sql_mode="";
set global sql_mode="";
としてみたら、うまくインストールできた。(set session ~だけではだめで、set global ~でやっとうまくいく)
このへんは、ネットで見てもよくわからない。なぜか、my.iniの設定が反映されなかったため
このような試行錯誤状態になってしまった。CMSのインストールも、ちょっとしたバージョンのずれで、大変なようだ。



xampp

https://www.apachefriends.org/jp/index.html
から入手しインストールしてみた。
必要なものだけ選べるようだ。php,apacheだけ入れてみた