レンタルサーバーのロリポップを利用時にプラグイン設定で403エラーが発生することがあり、その原因と回避方法について
発生状況
問い合わせフォームのプラグインcontactform7や、関連記事のレコメンドプラクグインのYARPPなどの設定画面にて、設定内容を保存しようとすると403エラーが発生します。
もちろん設定した内容は保存されておらず、次に進めなくなってしまいます。
原因はサーバー側のWAF(Webアプリケーションファイアウォール)が誤作動しているためです。
対策
.htaccessで除外設定する
.htaccessにてWAF(ロリポップの場合はSiteGuard)の除外設定を行います。
シグネチャの確認
ロリポップマイページの セキュリティ > WAF設定 から対象のドメインの「ログ参照」をクリック
ファイアウォールが検知したログが表示されます。私の場合YARPPにてエラーが発生したのでシグネチャは「traversal-9」となります。
.htaccessの編集
.htaccessファイルを修正します。
同じくロリポップマイページの「サイトの管理・設定」>「ロリポップFTP」
wordpressを展開しているディレクトリに「.htaccess」のファイルがありますので編集。
「SiteGuard_User_ExcludeSig ****」をファイルの末尾に記入します。
****の部分には該当するシグネチャを入力します。今回の私の場合だと「SiteGuard_User_ExcludeSig traversal-9」となります。
あとは保存するだけ。これで403エラーは発生しなくなります。
一時的にWAFをOFFにする
一時的な修正だけであれば同じくWAFの設定から該当するドメインのWAFを無効にしてもよいです。
ただし、「無効にする」とセキュリティリスクが高まりますので作業終了後に必ず有効にするようにしましょう。