「更新に失敗しました。返答が正しいjsonレスポンスではありません。」と戦う。
原因とか症状とか
WordPressで投稿、カスタム投稿、固定ページとかの、管理画面上で記事を書いて保存・公開・更新する作業において、日本のサーバー、日本語のWPという前提で英文盛りだくさんの内容を記載すると保存できないケースがある。そのときに表示されるのは下の文章。
「更新に失敗しました。返答が正しいjsonレスポンスではありません。」
WAFが働いた結果、日本のサイトなのに英語で書いてるのっておかしくね?ってことで蹴られてこういうことになる。
対処1:WAFを切る
セキュリティのせいなので、セキュリティがなくなればいい。サーバー側の設定になるんで、サーバーの管理画面に入ってセキュリティとかWAFとかの項目を探してOFFにすればいい。
当たり前だけど、セキュリティを切ったらセキュリティがない状態になるんでリスクがそれなりにあるってことを念頭に。
対処2:IPを指定して除外する
.htaccessに記載することで、IP単位でWAF対象から除外できる。
<IfModule mod_siteguard.c>
SiteGuard_User_ExcludeSig ip(***.***.**.***)
</IfModule>
wpの場合は最上層にある.htaccessをいじる。「wp-admin」「wp-content」とかがある階層。
複数のIPを許可したい場合はSiteGuard_Userなんちゃらの行を増やせばいい。
<IfModule mod_siteguard.c>
SiteGuard_User_ExcludeSig ip(***.***.**.***)
SiteGuard_User_ExcludeSig ip(***.***.**.***)
SiteGuard_User_ExcludeSig ip(***.***.**.***)
SiteGuard_User_ExcludeSig ip(***.***.**.***)
</IfModule>
IPの調べ方は色々あるけど表示してくれるサイトを覗きに行くのが手っ取り早い。
アクセス情報【使用中のIPアドレス確認】
あなたのアクセスしているIPアドレス情報などをENVとJavaScriptで取得し表示します。あなたのIPアドレスからポート疎通・ping疎通・DNS索引・WHOIS情報も取得できます。
固定IPじゃなければIPが変わるタイミングはいくらでもあるんで、都度変更しなきゃいけないのがめんどい。
コメント