「返答が正しいJSONレスポンスではありません」が出る
昨日突然エラーが出た。特にいままで出たことはなかった。今までと違うことは全くしていないのになぜ?という状態。とりあえずネットを調べると同じようなエラーが出ている人が多少はいるがそれほど多くないようだ。
JSONとは
JavaScript Object Notation の略でJSON 「ジェーエスオーエヌ」かと思ったら、「ジェイソン」と読むらしい。13日の金曜日か!?とか思いながら色々調べる。
症状は
記事をテキストファイルから貼り付けて、保存すると「返答が正しいJSONレスポンスではありません」と出る。見出し3だとエラーが出て、見出し2にするとエラーが出ない。
テキストは何とかなるので、見出し2で入力を続けると何とかなった。
そのあと画像を取り込もうとすると取り込み表示するところまではできる。しかし、下書きで保存できない。何度押しても同じ。すでに公開している記事も編集すると同じ症状が出て更新できない。
ネットの情報から
php.iniの設定で、ファイル容量や時間を制限しているところを修正すると直るという情報が。そこでロリポップサーバーなので、初期設定ではphpの設定はない。
そこで、php_value, php_flagを利用可能にする をOnにして、ロリポップFTPを開いて
「.htaccess」に下記4行を追加してみた。
php_value memory_limit 128M
php_value post_max_size 64M
php_value upload_max_filesize 20M
php_value max_execution_time 120
でも・・・なにも起こらず、エラーは出続ける。困った。
エラーは下書き保存するとその瞬間に出る。ということはファイルの大きさが大きいとか時間の設定が短いからではないのではと考えた。
サーバー側の設定が悪いのではないかと思い。とりあえずWAF(ワフって読むらしい)を無効化するととりあえずエラーは出なくなった。
ロリポップサーバーでは、プラグインやテンプレートを変更すると保存できない403エラーが報告されているがそれと同じなのか。
そこでロリポップサーバーのWAFの検知ログを見てみるとすべてoscmd-14のエラー検知だった。そこで
「.htaccess」に
SiteGuard_User_ExcludeSig oscmd-14
と書き込むと「oscmd-14」のエラーであればそれが除外できるということ。試しに入力したところエラーは出なくなった。
これが、外からの攻撃だと何ともだけれど、毎回入り切りするものなんだしどうするか悩む。とりあえず除外で様子見かな。