この記事は更新から2年以上経過しています。情報が古い可能性がありますのでご注意下さい。
PHPでパラメーターにURLを渡してリダイレクトする処理を行うページがWAF(Web Application Firewall)に引っかかり、403 forbiddenになってしまう現象が発生した。
WAFはSite Guard Liteというもので、wordpressのプラグインや、レンタルサーバーのコントロールパネルから除外設定を行うことが出来る場合もあるが、今回はそのどちらも出来なかった。
ただ、WAFのログを見ることは出来たので確認したところ、”url-php-rfi”と記録されていた。
url-php-rfi とは“リモートファイルインクルード”というサーバーを攻撃する手法の一つらしい。
リモートファイルインクルード(RFI)攻撃とは
http://securityblog.jp/words/483.html
WAFを無効にするのは勿体無いので、htaccessを利用して該当のページが攻撃と判定されないように設定する。
<IfModule mod_siteguard.c>
<Files ファイル名.php >
SiteGuard_User_ExcludeSig url-php-rfi
</Files>
</IfModule>
これで403エラーにならず、問題なくページを表示する事が出来た。