关于如何对付wordpress的垃圾广告机器人

wordpress 是个广为流行的博客系统,也正应为用户之多,随之而来的垃圾广告也越来越多。

曾装过几个反垃圾广告的插件都不怎么理想(包括图片验证码的也无效,设计有漏洞),后来通过日志分析用iptable屏蔽IP段能堵住大部分广告机器人,不过还是要时常填补机器人IP到iptable,操作起来不方便。

机器人是模拟浏览器请求的软件,有伪装的header   user-agent,不容易同正常请求区分开来,所以通过这些参数没有有效的屏蔽办法。

机器人软件模拟浏览器请求有个缺陷就是不会执行页面JS脚本。

通过这个便有了简单的解决方式:

两个文件中加几行代码

第一个文件:wp-includes/comment-template.php

找到 <form action=”<?php echo site_url( ‘/wp-comments-post.php’ ); ?>  发评论的form

form里增加一个隐藏字段

 <input name="ad_flag" id="ad_flag"  type="hidden" value="p"/>

机器人不笨会解析到这个字段并提交请求的时候会带上它

还需要在加上一段JS

<script type="text/javascript">
            jQuery(document).ready(function () {
                jQuery('#commentform').submit(function () {
                jQuery('#ad_flag').attr('name','is_person');
                    });
            });
        </script>

这段代码真实浏览器会解析执行,功能是在提交表单时修改上面那个隐藏字段的name,机器人的话就不会执行这段JS脚本,这就方便在下一步做屏蔽了

文件:wp-comments-post.php

 

if ( !isset($_POST['is_person']) ) {
        header('Allow: POST');
        header('HTTP/1.1 405 Method Not Allowed');
        header('Content-Type: text/plain');
        exit;
}

如果没有is_person 就是垃圾广告机器人,直接屏蔽掉,从此清静了

1,575 thoughts on “关于如何对付wordpress的垃圾广告机器人”

  1. [url=https://wellbutrin300.com/]wellbutrin[/url] [url=https://lisinoprilbuy.com/]lisinopril 20 mg no prescription[/url] [url=https://sildalis120.com/]sildalis without prescription[/url] [url=https://doxycycline02.com/]buy doxycycline online 270 tabs[/url] [url=https://levitrasale.com/]purchase levitra[/url] [url=https://buydiflucan.com/]diflucan medicine[/url] [url=https://vardenafilbuy.com/]vardenafil buy[/url] [url=https://generictadalafil20mg.com/]tadalafil india 20mg[/url] [url=https://azithromycin100.com/]azithromycin 500mg[/url] [url=https://femaleviagra24.com/]sildenafil women[/url]

  2. [url=https://allopurinolzyloprim.com/]allopurinol[/url] [url=https://sildenafil1000.com/]sildenafil[/url] [url=https://xenical120mg.com/]orlistat 120mg[/url] [url=https://atarax10.com/]atarax tablets[/url] [url=https://sildalis120.com/]sildalis online[/url] [url=https://cafergot100.com/]cafergot tablets[/url] [url=https://tetracycline365.com/]tetracycline[/url] [url=https://doxycycline02.com/]doxycycline prices[/url] [url=https://wellbutrin300.com/]wellbutrin xl 300 mg generic[/url] [url=https://femaleviagra24.com/]female viagra[/url]

  3. [url=http://advairdiskus.us.org/]advair diskus[/url] [url=http://allopurinol.institute/]allopurinol[/url] [url=http://buyaugmentin.us.com/]augmentin xr 1000mg[/url] [url=http://buyvaltrex.ooo/]buy valtrex without prescription[/url] [url=http://propecia.club/]propecia[/url] [url=http://asosiasi-bapelkes.com/]prednisone 10 mg[/url] [url=http://cipro365.us.com/]purchase ciprofloxin[/url]

  4. [url=http://allopurinolzyloprim.com/]price of allopurinol[/url] [url=http://levitrasale.com/]levitra 20mg[/url] [url=http://atenolol25.com/]atenolol[/url] [url=http://femaleviagra24.com/]female viagra cream[/url] [url=http://atarax10.com/]atarax online[/url] [url=http://vardenafilbuy.com/]buy vardenafil uk[/url] [url=http://lisinoprilbuy.com/]cost of lisinopril[/url] [url=http://buydiflucan.com/]buy diflucan without prescription[/url]

  5. [url=https://paydayloansonline.us.com/]loans online[/url] [url=https://moneyfast.us.org/]money fast[/url] [url=https://badcredit.us.org/]bad credit loans[/url] [url=https://lender.us.org/]las vegas payday loan[/url] [url=https://lending.us.org/]cash advance direct lenders[/url]