【WordPress】テーマやプラグインのコードが変更できない(保存できない)のはサーバーの仕業!?

公開日: 使い方など
Knowledge Base Wordpress パソコン カスタマイズ 設定

前は特別問題なくテーマの更新やプラグインのファイルなどの更新もできていたのに突然「何かうまくいかなかったようです・・」となって更新できなくなったことありませんか??

私はつい最近遭遇しました。私の場合はコードを記述した投稿を保存しようと思ったら・・・403エラーが出るという状態になりました。

いつから??なんてのは当然分からないとは思いますが、「前にできたのに・・」ということであればこの記事は参考になると思います。

以前よくみられたhtmlサイトならサーバーにログインしてファイルをすべて同期したりダウンロードしたりしないと改造はできなかったのですが、Wordpressは汎用(誰でも使用できる)のサイト作成ツールで、しかも管理画面からテーマの中のファイル変更などもできてしまうため、知らない間に誰ぞにログインされて改造されてしまった・・という記事を時々目にします。

つまりはログインされてしまったらとりあえずおしまい!!というのがWordpressの最大の弱点です。

まあまあ、ログインセキュリティについては他の記事を見てもらうとして、サイトを収容しているレンタルサーバーにはサイトへログインされてもサーバー側で改造をブロックする機能があるんです。

WAFって聞いたことありますか??ウェブアプリケーションファイヤーウォールといって、Wordpressのようにサーバー上で何等かのプログラムを使って動作するものに対してサーバー側で不正行為を監視、防衛しようという機能なんです。

実はこれ、どんどんブラッシュアップされていて、ひっそりと機能が変更されていくので誰も?気づかないんです。

今回発生した

  1. 投稿の下書き保存したらいきなり403エラーになる(権限がないと言われる)
  2. テーマファイルを修正して保存したら「何かうまくいかなかったようです・・」と表示され更新できない

といった現象はサイトに何も設定変更を加えていないなら、WAFの仕業かも知れないということです。

まずは落ち着いて・・・セキュリティ系の何やらをどうにかしたなどということをしなかったかどうかを思い出しましょう。何もしてない!ということであれば、いろいろごちゃごちゃと変更するよりもまずはWAFを停止してテストしてみましょう。

WAFの設定はサーバーによって違います。このサイトが稼働している【カラフルボックス】ではcPanel内にある【Mod Security】という項目からドメイン単位で設定ができます。WAFの設定は基本的に即座に反映されますので、もしも上のような現象がおきたらひとまず停止してテストしてみることをお勧めします。

※【Mod Security】以外にも独自のWAF機能を搭載しているサーバーもありますので、詳しくはサーバーのヘルプなどで「WAF」と検索してみてくださいね。


これで見事に更新エラーは回避、それじゃあそのままで・・・ちょっと待ってください。せっかくコードの改編が保護されることが確認できたすばらしい機能なのにオフのままにしてしまいますか??テーマの編集などが終わったら必ずオンにしておきましょうね。

また編集するときや下書き保存などでエラーが出たら再びオフにしてやればOK。でも面倒ですね(ものぐさな私には無理)。

ということで、いちいち切り替えなくてもいい方法を紹介しておきます。

特定の場所からのアクセスでは【Mod Security】を無効にする設定

の英語のサイトにばっちり掲載されていました。

やり方は簡単、Wordpressのインストールフォルダにある「.htaccess」というファイルに以下を追加するだけです。

SetEnvIfNoCase Remote_Addr ^208.113.183.103$ MODSEC_ENABLE=Off
【注意】コードをコピーして使用する前に必ずお読みください

この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。

使用については自己責任でお願いします

コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。

万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません

コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります

コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります

その場合には以下の方法で修正を行ってみてください

  1. コードの中に全角の記号が入っていませんか?
  2. 半角にすることで解消できます
  3. コードの中に全角の空白(スペース)がありませんか?
  4. 半角にすることで解決できます
  5. 上のようなことがないのに更新できない
  6. 特に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。

コードを転載する場合には

ご自身のサイトで当ページのコードを転載される場合には必ず当ページへのリンクを入れていただきますようお願いいたします

※IPアドレスは自身のものに書き換えてください

単純にコピペしてIPアドレスを変えるだけではありますが、↑の文章で??となった方は危ないのでやめておいた方がいいでしょう。

前述したように【Mod Security】が行うセキュリティは知らない間に更新されていきますので、しばらくしたら更新できるようになった・・というケースでもこの設定はそのままにしておいた方が無難でしょう。

以上、テーマの編集や投稿でエラーが出る場合の対処方法(の1つ)でした。

なおせっかく.htaccessファイルを編集するなら

を参考にいつも管理画面にアクセスする場所からのみ管理画面が開けるようにしておけば、ログインURLを変更したりする必要もなくセキュリティもばっちりだと思います。

※多数の方がログインするサイトやスマホなど移動体から記事を書くことがある方には使えない方法です。

いつでもご相談・サイトカスタマイズの依頼を受け付けています

Wordpressのカスタマイズ、不具合解消のご相談はすべてココナラのダイレクトメッセージからお受けしております。まずはこちらのバナーからお気軽にお問い合わせください。

※一度もココナラを使ったことがない方はココナラへの無料登録が必要です。こちらから登録後、上のリンクをクリックする、またはココナラトップページから「ひまあーと」を検索してお問い合わせください。


【スポンサーリンク】


記事の拡散にご協力をお願いします

閲覧いただきありがとうございました。役に立つ情報でしたら是非SNSでシェアをお願いします

関連情報