レンタルサーバーのロリポップでWordpresをインストールしてブログを書いている人はかなりいると思います。
自分もその一人です、Wordpresでプラグインをインスールして、プラグイン設定したり、変更しようとしたとき
403エラーが発生することがありました。
その原因と回避する対策について紹介します。
Woredpressのプラグインの設定・変更で403エラーとなる原因
ロリポップでWordpressのプラグインの設定・変更の際、403エラーとなります。
ロリポップのWordPressの場合WAFの誤検知が原因でよくこのエラーが起きます。
WAFとは、Web Application Firewall(ウェブ・アプリケーション・ファイアフォール)の略で、Webサイトの改ざんを防ぐためのセキュリティ機能の1つです。
Webサイトの改ざんを防ぐため機能ではありますが、まれに管理画面の通常の操作も誤検知されて、403エラーが起きることがあります。
403ってどんなエラーなのか?
403はWebの世界で使われる共通のエラー番号です。
403は、エラーの中でも、ページは存在しているけどもアクセスが拒否されたことを示すエラーになります。
HTTP 403、またはエラーメッセージ Forbidden(「閲覧禁止」「禁止されています」の意)は、HTTPステータスコードの一つ。ページが存在するものの、特定のアクセス者にページを表示する権限が付与されず、アクセスが拒否されたことを示すもの。また、サイトの制作者側の設計ミスによる障害やサイトが非常に混雑している時、URLが間違っている場合にも表示される事があります。
Woredpressのプラグインの設定・変更で403エラーを解決する方法
403エラーとならないようにする方法として3つあります。
1. ロリポップの管理画面で一時的にWAFを無効化
2. プラグインでWAF除外設定する方法
3. htaccessで除外設定する
ロリポップの管理画面で一時的にWAFを無効化
ロリポップの管理画面にログインして、対象となるWEBサイトのWAFを一時的に無効化します。
プラグインの設定がおわったら、またWAFを有効化します。
すこし手間ですが、この方法が初心者の方にはいいと思います。
プラグインでWAF除外設定する方法
SiteGuard WP Pluginを、WordPressにインストールし、WAFの除外設定が可能です。
「. htaccess」で除外設定することをプラグイン経由でおこなっているのと変わらないので、わざわざプラグインをインストールしなくてもいいかもしれないなあとおもいます。
. htaccessで除外設定する
.htaccessにてWAF(ロリポップの場合はSiteGuard)の除外設定を行います。
1.シグネチャの確認
ロリポップマイページの セキュリティ > WAF設定 から対象のドメインの「ログ参照」をクリックします。
ファイアウォールが検知したログが表示されます。
エラーが発生したシグネチャは「traversal-9」となります。
2.「.htaccess」の編集
.htaccessファイルを修正します。
ロリポップマイページの「サイトの管理・設定」>「ロリポップFTP」
wordpressを展開しているディレクトリに「.htaccess」のファイルがありますので編集。
「SiteGuard_User_ExcludeSig ****」をファイルの末尾に記入します。
****の部分には該当するシグネチャを入力します。
「traversal-9」
今回の私の場合だと「SiteGuard_User_ExcludeSig traversal-9」となります。
あとは保存するだけ。
これで403エラーは発生しなくなります。