怎么说呢,虽然WP默认开了Akismet和一些关键词过滤,但是对于已经存在过评论内容的人,程序似乎会网开一面,或许这就是之前大家防护TIPS里常说的,不要给垃圾评论任何一次允许。

今天看到Milk的留言,感谢之余,发现他的站是友链,但是依旧被过滤,很好奇的var_dump,发现获取的地址是用户填写的内容,而友链站点是被处理过的已保存对象.

差别在那里.数据类型?

No! 差别在最后一个字符,处理过的对象被强制加上了/,也就是最后一个下划线,而用户输入的数据,有时候没有下划线,所以会出现in_array($m,$n)木有返回,知道原因,解决就好说了,检查修改用户输入的数据,然后去和对象数据里的碰,看看是否相同, 或者修改每一个对象类型中的数值,去和用户输入的碰…

//第一种
//处理用户输入数据
if(substr($url,-1)!='\'){$url.='\';}
//然后比较即可
//或者,处理原始数据去和用户的数据碰撞
if( "\" == substr(($bookmarks[$i]->link_url) , -1)){
$bookmarks[$i]->link_url = substr(($bookmarks[$i]->link_url),0,-1);
}

?>

然后就是又想起来用户名可以带着COM,NET等,而且为了防止CCCOMOMOM这类循环出现..用了几个小循环来做过滤. 具体怎么写的规则就不发了.. :idea: