前は特別問題なくテーマの更新やプラグインのファイルなどの更新もできていたのに突然「何かうまくいかなかったようです・・」となって更新できなくなったことありませんか??
私はつい最近遭遇しました。私の場合はコードを記述した投稿を保存しようと思ったら・・・403エラーが出るという状態になりました。
いつから??なんてのは当然分からないとは思いますが、「前にできたのに・・」ということであればこの記事は参考になると思います。
以前よくみられたhtmlサイトならサーバーにログインしてファイルをすべて同期したりダウンロードしたりしないと改造はできなかったのですが、WordPressは汎用(誰でも使用できる)のサイト作成ツールで、しかも管理画面からテーマの中のファイル変更などもできてしまうため、知らない間に誰ぞにログインされて改造されてしまった・・という記事を時々目にします。
つまりはログインされてしまったらとりあえずおしまい!!というのがWordPressの最大の弱点です。
まあまあ、ログインセキュリティについては他の記事を見てもらうとして、サイトを収容しているレンタルサーバーにはサイトへログインされてもサーバー側で改造をブロックする機能があるんです。
WAFって聞いたことありますか??ウェブアプリケーションファイヤーウォールといって、WordPressのようにサーバー上で何等かのプログラムを使って動作するものに対してサーバー側で不正行為を監視、防衛しようという機能なんです。
実はこれ、どんどんブラッシュアップされていて、ひっそりと機能が変更されていくので誰も?気づかないんです。
今回発生した
- 投稿の下書き保存したらいきなり403エラーになる(権限がないと言われる)
- テーマファイルを修正して保存したら「何かうまくいかなかったようです・・」と表示され更新できない
といった現象はサイトに何も設定変更を加えていないなら、WAFの仕業かも知れないということです。
まずは落ち着いて・・・セキュリティ系の何やらをどうにかしたなどということをしなかったかどうかを思い出しましょう。何もしてない!ということであれば、いろいろごちゃごちゃと変更するよりもまずはWAFを停止してテストしてみましょう。
WAFの設定はサーバーによって違います。このサイトが稼働している【カラフルボックス】ではcPanel内にある【Mod Security】という項目からドメイン単位で設定ができます。WAFの設定は基本的に即座に反映されますので、もしも上のような現象がおきたらひとまず停止してテストしてみることをお勧めします。
※【Mod Security】以外にも独自のWAF機能を搭載しているサーバーもありますので、詳しくはサーバーのヘルプなどで「WAF」と検索してみてくださいね。
これで見事に更新エラーは回避、それじゃあそのままで・・・ちょっと待ってください。せっかくコードの改編が保護されることが確認できたすばらしい機能なのにオフのままにしてしまいますか??テーマの編集などが終わったら必ずオンにしておきましょうね。
また編集するときや下書き保存などでエラーが出たら再びオフにしてやればOK。でも面倒ですね(ものぐさな私には無理)。
ということで、いちいち切り替えなくてもいい方法を紹介しておきます。
特定の場所からのアクセスでは【Mod Security】を無効にする設定
IPごとに条件付きでmod_securityを無効にするという英語のサイトにばっちり掲載されていました。
やり方は簡単、WordPressのインストールフォルダにある「.htaccess」というファイルに以下を追加するだけです。
SetEnvIfNoCase Remote_Addr ^208.113.183.103$ MODSEC_ENABLE=Off
※IPアドレスは自身のものに書き換えてください
単純にコピペしてIPアドレスを変えるだけではありますが、↑の文章で??となった方は危ないのでやめておいた方がいいでしょう。
前述したように【Mod Security】が行うセキュリティは知らない間に更新されていきますので、しばらくしたら更新できるようになった・・というケースでもこの設定はそのままにしておいた方が無難でしょう。
以上、テーマの編集や投稿でエラーが出る場合の対処方法(の1つ)でした。
※多数の方がログインするサイトやスマホなど移動体から記事を書くことがある方には使えない方法です。