201010月29
wordpress反英文垃圾评论就用小墙1.82
wordpress
| 浏览次数12,345 次 20 Comments
最近英文垃圾评论特别多,每天删来删去的实在太麻烦,索性直接上winka大师写的WP Anti Spam小墙1.81,可以有效的防止垃圾英文评论,就目前来说应该是最好的非插件防spam的的方法了。看具体操作:
将下列代码直接copy 到模板的 functions.php中即可:
- /* <<小牆>> Anti-Spam v1.82 by Willin Kan. 2010/12/16 最新修改 */
- //建立
- class anti_spam {
- function anti_spam() {
- if ( !current_user_can('level_0') ) {
- add_action('template_redirect', array($this, 'w_tb'), 1);
- add_action('init', array($this, 'gate'), 1);
- add_action('preprocess_comment', array($this, 'sink'), 1);
- }
- }
- //設欄位
- function w_tb() {
- if ( is_singular() ) {
- ob_start(create_function('$input','return preg_replace("#textarea(.*?)name=([\"\'])comment([\"\'])(.+)/textarea>#",
- "textarea$1name=$2w$3$4/textarea><textarea name=\"comment\" cols=\"100%\" rows=\"4\" style=\"display:none\"></textarea>",$input);') );
- }
- }
- //檢查
- function gate() {
- if ( !emptyempty($_POST['w']) && emptyempty($_POST['comment']) ) {
- $_POST['comment'] = $_POST['w'];
- } else {
- $request = $_SERVER['REQUEST_URI'];
- $referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '隱瞞';
- $IP = isset($_SERVER["HTTP_X_FORWARDED_FOR"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] . ' (透過代理)' : $_SERVER["REMOTE_ADDR"];
- $way = isset($_POST['w']) ? '手動操作' : '未經評論表格';
- $spamcom = isset($_POST['comment']) ? $_POST['comment'] : null;
- $_POST['spam_confirmed'] = "請求: ". $request. "\n來路: ". $referer. "\nIP: ". $IP. "\n方式: ". $way. "\n內容: ". $spamcom. "\n -- 記錄成功 --";
- }
- }
- //處理
- function sink( $comment ) {
- if ( !emptyempty($_POST['spam_confirmed']) ) {
- if ( in_array( $comment['comment_type'], array('pingback', 'trackback') ) ) return $comment; //不管 Trackbacks/Pingbacks
- //方法一: 直接擋掉, 將 die(); 前面兩斜線刪除即可.
- //die();
- //方法二: 標記為 spam, 留在資料庫檢查是否誤判.
- add_filter('pre_comment_approved', create_function('', 'return "spam";'));
- $comment['comment_content'] = "[ 小牆判斷這是Spam! ]\n". $_POST['spam_confirmed'];
- }
- return $comment;
- }
- }
- $anti_spam = new anti_spam();
- // -- END ----------------------------------------
这个是2010/12/16 最新修改, 是 1.82 版,取消了 Trackbacks/Pingbacks 的拦截,將 spam 的基本资料存进档头.
至于效果我就不多说了,小墙1.82到底好不好,我只能说谁用谁知道,嘎嘎
文章作者:网络营销案例
本文地址:http://www.3fwx.com/wordpress-xiao-qiang.html
版权所有 © 转载时必须以链接形式注明作者和原始出处!



这个在很多地方有看过,不过没试过,可以放上去试试
效果还是蛮不错的,强烈推荐! :wink:
最近我也被英文评论困扰,终于找到方法了,我去试试
这个方法唯一不足的就是,直接将垃圾评论拦截到了你的垃圾评论里了
好复杂,还以为是插件
用你这个法子回去试一试。 :razz:
瞧瞧的,博主我把你文章转走了, 哈哈
呵呵,你尽管转载!
上次看到个添加验证码的也不错….谢谢博主分享….
感觉加验证码的方法,用户体验不太好。不如这个人性化!
确实是,谁用谁知道!!
我放了就打不开网站了
是不是放错地方了?放到最后一个问号的上一行试试。
学习了。
這是我叔寫的, 我只是代管他的博客. 原文鏈結: http://kan.willin.org/?p=1324
原来是这样的,很喜欢这个博客 很多有用的东东
• 嗯 文章不错,多谢分享