使用wordpress建站,有一个比较麻烦的问题是,如果文章开放了评论功能,很容易导致垃圾评论,像我这个站点,之前就出现过一晚上被机器人,垃圾评论了几百条。
这几百甚至上千条评论,都是一晚上就被垃圾评论机器自动发布的,如果后台没有开审核功能,很容易就在网站上留下负面的信息,之前本站就被阿里云警告处理了几次,吓的我把网站的评论功能直接整站关闭了。
但有些时候又需要开放评论功能,方便大家学习交流,所以在网上找了一下如何防止垃圾评论的方法,这里总结一下:
1:使用登录注册功能,加验证码
wordpress本身是不需要注册就可以评论的,这种用户体验确实不错,但容易让垃圾评论注入信息,所以我们可以在后台设置注册并登录后才能评论,这样可以减少垃圾评论
2:利用.htaccess规则来拒绝垃圾评论
在主机的.htaccess文件里面加入以下代码
# WPhtC: Protect comments.php
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*http://http://www.huangsiyong.cn.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
要把第四行代码域名修改成自己的网站域名就行了,这里的代码适用于 apache 类型 的服务器。如果是Nginx类型,则使用下面的代码
location ~* (wp-comments-posts|wp-login).php$ { if ($http_referer !~ ^(http://www.huangsiyong.cn) ) { return 405; } }
3:从根本上解决,修改评论post提交路径
目前的垃圾评论机器人,大部分的都是通过post访问方式对网站根目录下的wp-comments-post.php来提交垃圾评论,所以我们可以直接修改这个post访问路径,这样一来机器人就无法注入垃圾信息了,方法如下:
3.1:把网站根目录下面的wp-comments-post.php 文件修改名称,改成别人不容易碰对的名字
3.2:编辑Wordpress主题里面的comments.php文件,找到调用文件代码,把wp-comments-post.php 修改为你改后的文件名就行了
本篇文章,及今后的文章,我也将慢慢的打开评论功能,测试一下是否有效
请先
!