RBL
トラックバックやコメントSPAMを防ぐ方法としてはRBLを利用する方法があります。
RBLとは
日本独自のRBLとしてRBL.JPが存在しますが、精度としてはいまいちらしい。
BBS/コメント/トラックバックspamその後によるとniku.2ch.netが最強?
Apacheのモジュールとして、上記でも利用しているmod_accessを拡張したmod_access_rblなるものがあったみたいですが、消え去ったようなのでmod_defensibleを利用する?
mod_access_rblが消えたのでmod_defensible
対象がphpファイルだったら、auto_prepend_fileを使ってこともできます。
httpd.confに対象ファイルとauto_prepend_fileの値を設定。
すべてのファイルを対象にするとRBLサーバに負荷がかかるので絶対にしないように。
<Files "p-bbs.php">
php_value auto_prepend_file /path/to/checkSpam.php
</FIles>
<?php
function checkSpam($host = 'niku.2ch.net')
{
$ip_addr = $_SERVER['REMOTE_ADDR'];
$pattern = '/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/';
$replacement = '${4}.${3}.${2}.${1}';
$rev = preg_replace($pattern, $replacement, $ip_addr);
return "$rev.$host" != gethostbyname("$rev.$host");
}
if (checkSpam()) {
header('HTTP/1.0 403 Forbidden');
exit;
}
カテゴリー: 日記