WP-ban屏蔽user-agent正则bug
Posted | archive
这几周blog没怎么更新,倒是被一个botnet留了几百页的spam。发现user-agent都是统一的。WP-Ban这个插件可以屏蔽user-agent,但是设置了之后发现没有效果。一看源码这作者太n00b了。
修改wp-ban.php文件91行左右: vim ./wordpress/wp-content/plugins/wp-ban/wp-ban.php
foreach($banarray as $cban) {
#就是在这里注释掉2行,新增两行
#$regexp = str_replace ('.', '\\.', $cban);
#$regexp = str_replace ('*', '.+', $regexp);
$regexp = quotemeta ($cban) ;
$regexp = str_replace ('\\*', '.+', $regexp);
if(ereg("^$regexp$", $against)) {
print_banned_message();
}
}
我的wordpress 2.9.1硬monkey patch改动太多没法升级了。囧rz。
更新1:
好吧,有漏网之鱼,User-agent是
Mozilla/4.0 (compatible; MSIE 5.0; Windows 95) Opera 6.01 [en]
Comments