站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
WordPress:Combating Comment Spam/Denying Access
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
__TOC__ 虽然拒绝使用评论spammers被看做是过激的行为,仍然有许多种方法可以阻止使用spammers,但是仍然允许发表评论。 要牢记大多数垃圾邮件发送者使用随意的IPs。通过垃圾广告者的IP来阻止他们,会阻止垃圾广告的泛滥,但是也会'''增加阻止合法用户的机率'''。 == 否认使用垃圾广告发送者的IPs == 当一个评论发送到你的网络博客上的时候,IP地址包含在一个信息包中,这个信息包与评论一起出现在网络上。将这IP地址看作是一个电话号码,WordPress评论审核就如一个呼叫显示,向你显示这个评论是源于哪里的。 应该注意发送垃圾广告者因为偷劫IP地址,而臭名昭著,因此有可能一个垃圾广告上的IP地址,事实上,可能是从一个合法连接的因特网服务上"偷"来的。 如果你正确地观看了IP地址,你可能注意到只有某些数字,有一些差异。例如,你可能看到: * '''192.168.0.1''' * '''192.168.0.2''' * '''192.168.0.3''' 其它连续的或者相似的数字顺序。通过去除一个或者更多的IP数字,如:'''192.168''',你能够给你的评论垃圾广告词列表添加上一个更加简单的IP数字—这样,任何以'''192.168'''开始的IP地址都会被筛选为垃圾广告,不管这个与这个"通配符"一起出现的数字是什么。这样省去了你输入许多单个数字的麻烦。要注意你是用的通配IP数字是哪类的,因为只使用'''192'''.可能会消除评论上合法的IP地址。 <tt>.htaccess</tt>文件-也控制了你的permlinks-可以用来完全地阻止一个IP来访问你的站点。你可以将这个文件放到你的网站的根目录上,或者网站的博客所在的目录上(如果博客所在目录与根目录不同)。 下面是呈现在网站根目录上<tt>.htaccess</tt>的一个例子。 <pre> order allow,deny deny from 123.123.123.123 deny from 456.456.456.* deny from 789.789.*.* allow from all </pre> ;否认123.123.123.123:只否认使用这个IP ;否认456.456.456.*:否认使用所有的IPs以456.456.456开始的用户。 否认:789.789.*.* :任何人的IP以789.789开始,都会被阻止。 因此所有256*256唯一IP地址都被阻止了。 如果你真的开始阻止IPs,那么一个被制止的访客会看到一个'''403 错误网页'''。要确定这样的一个网页上列出了联系你的详细信息。查看你的主机来看看怎样制作一个自定义403(或者看看下面的内容)。 如果你开始使用<tt>*</tt>通配符来阻止IPs,那么至少给被阻止的用户一次向你发送电子邮件的机会,向你申明,你可能弄错了。 如果你想要核实受阻止的人,要得到一个朋友的IP,告诉他们你在执行什么,并且阻止他们(你要知道是可以这样做的,才行)。 == 否认使用没有链接的请求== 当你的读者评论的时候,<tt>wp-comments-post.php</tt>文件得到了调用,执行,并且创建文章。用户的浏览器会发送一个关于这个的"转介"行。 当一个'''spam-bot'''进入的时候,会直接地袭击文件并且'''通常'''不会留下一个链接。这使得服务器能够有意地侦查,并且直接执行。如果你对Apache指令还不熟悉,那么在你的根目录<tt>.htaccess</tt> file文件上写上以下内容:: <pre>RewriteEngine On RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-comments-post\.php* RewriteCond %{HTTP_REFERER} !.*yourdomain.com.* [OR] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]</pre> 这样会: #观察什么时候文章写好了 #查看文章是否在wp-comments-post.php #查看'''referrer'''是不是在你的域名上,还是'''没有 referrer''' #将spam-bot发送回到它原来的服务器的IP地址上。 :<strong style="color:RED;">NOTE 1:</strong>在第四行中,将你的domain.com改为你的'''<em>domain.xxx</em>'''没有www或者任何的前缀。 :<strong style="color:RED;">注 2:</strong>有可能某个人的浏览器不会发送referral,但是这种情况很少。 这本质上是在它自身上<em>偏转了</em> spam-bot back。 <strong>贴士:</strong>如果你想看看这个内容,而且你知道你的根目录的绝对路径,你可以这样做: <pre>在RewriteEngine On RewriteLog /absolute/path/to/your/wwwroot/public_html/rewrite_log.txt RewriteLogLevel 2</pre> 当重写规则得到了激活,你可以在rewrite_log.txt上得到以下的内容: <pre style="margin-bottom:0px"> 65.197.28.xxx- - [06/Feb/2005:10:59:34 --0500] [yourdomain.com/sid#80054890][rid#804b6a50/initial] (2) init rewrite engine with requested uri /wp-comments-post.php 65.197.28.xxx- - [06/Feb/2005:10:59:34 --0500] [yourdomain.com/sid#80054890][rid#804b6a50/initial] (2) rewrite /press/wp-comments-post.php -> <nowiki>http://65.197.28.xxx/</nowiki> 65.197.28.xxx- - [06/Feb/2005:10:59:34 --0500] [yourdomain.com/sid#80054890][rid#804b6a50/initial] (2) explicitly forcing redirect with <nowiki>http://65.197.28.170/</nowiki> 65.197.28.xxx- - [06/Feb/2005:10:59:34 --0500] [yourdomain.com/sid#80054890][rid#804b6a50/initial] (1) escaping <nowiki>http://65.197.28.xxx/</nowiki> for redirect 65.197.28.xxx- - [06/Feb/2005:10:59:34 --0500] [yourdomain.com/sid#80054890][rid#804b6a50/initial] (1) redirect to <nowiki>http://65.197.28.xxx/</nowiki> [REDIRECT/301]</pre> <blockquote style="margin-top:0px;font-size:90%;">Taken from an actual log</blockquote> 注:虽然阻止IP地址非常容易,针对使用折中的机器,因为两个原因散布他们的垃圾广告的spotshot, 这种方法是无效的: 1.机器的最初所有者仍然在使用机器而且很可能是有分寸的,不应该被阻止的。 2.任何人试着被IP阻止,大量这样的机器会泛滥。 == 否认使用 Referrer 垃圾广告发送者== 许多人在他们的站点上或者链接上显示referrer,这样人们就可以访问他们的站点。发送垃圾广告者侵犯了这个并且不加选择的在博客上发送垃圾广告(即使写博客的人没有这个功能),用referral链接指向他们的spammy站点。他们不再浪费你的资源,弄坏你的合法的referrer的列表,并且降低你的读者访问速度。 为了节省资源,发送垃圾广告者通过用他们的垃圾广告referres来发送评论垃圾广告bots,得到two-in-one-shot的效果。因此,你可以通过阻止referrer垃圾广告来阻止一些评论垃圾广告。 如果你知道了你想要阻止哪个referrer URL,相信我,你就会知道,通过将以下的内容添加到你的.htaccess文件中,你可以阻止那个referrer URL。 <pre> SetEnvIfNoCase Via evil-spam-proxy spammer=yes SetEnvIfNoCase Referer evil-spam-domain.com spammer=yes SetEnvIfNoCase Referer evil-spam-keyword spammer=yes SetEnvIfNoCase Via pinappleproxy spammer=yes SetEnvIfNoCase Referer doobu.com spammer=yes SetEnvIfNoCase Referer poker spammer=yes Order allow,deny allow from all deny from env=spammer </pre> 上述的<tt>.htaccess</tt>规则是由[http://www.tomrafteryit.net/using-htaccess-to-minimise-comment-and-referrer-spam/ Tom Raftery]带给你,[http://www.tomrafteryit.net/using-htaccess-to-minimise-comment-and-referrer-spam/ Tom Raftery]最初使用有规则的重写条件,后来决定"使用 SetEnvIfNoCase 来代替RewriteCond – 似乎很有用(特别对referrers而言)。" 阻止Referrer垃圾广告的插件可以在[http://wordpress.org/extend/plugins/ 官方 WordPress 插件目录]中找到。 == 使用一个自定义 403 == 这是一个通常的网页,使用<tt>.htaccess</tt>命令服务器显示你的网页,而不是默认的网页。 <tt>.htaccess</tt>应该有: <pre>ErrorDocument 403 /errors/403.html</pre> 例如,创建一个称为"错误"的目录,并且将你的自定义403信息放到这个目录。 要测试这个,阻止一个朋友并且索要反馈信息。 你以相同的方式创建一个自定义404。 ::'''警告:'''阅读你的主机所有的任何和所有的关于使用自定义网页的文件-对于上述的建议,你的服务器要求可能有所不同!如果有疑问,直接地联系你的主机,寻求帮助。 == 使用 PHP 编码来阻止== 你可以将这个添加到任何PHP网页的顶上方,在xxx或者yyy的位置输入真正的IP地址。 <pre> <?php $block = array("xxx.xxx.xxx.xxx", "yy.yy.y.yyy"); if (in_array ($_SERVER['REMOTE_ADDR'], $block)) { header("Location: http://google.com/"); exit(); } ?> </pre> ==资源 == * [[WordPress:Combating Comment Spam|抗击评论垃圾广告]] * [[WordPress:Comment Spam|评论垃圾广告]] * [[WordPress:Spam Words|垃圾广告词]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)