在网站恢复之后,突然发现右边栏的评论,都是英文,再看看第一篇文章的评论数,800多条!
这...
不是有Akismet垃圾评论拦截插件吗?进入后台一看,显示如下信息
服务器连通性
网络功能被禁止。
您的主机似乎禁用了 PHP 的 fsockopen 或 gethostbynamel 函数。在此问题修复之前,Akismet 无法工作。请联系您的主机服务管理员或防火墙管理员,并向他们提供 Akismet 的运行环境要求。
原来是因为服务器有人,利用dedecms的一个漏洞,用 fsockopen发起50M/s 的DoS攻击,结果fsockopen被封了。
解决方法,第一,在public_html目录下新建一个php.ini,并在其中写上如下代码:
allow_url_fopen = On
第二,直接将Akismet中admin.php和akismet.php源码中的fsockopen换成pfsockopen
第三,直接修改admin.php中的源码,我的版本是2.5.5
//180行
if ( !function_exists('fsockopen') || !function_exists('gethostbynamel') ) {
//换成
if ( (!function_exists('fsockopen') || !function_exists('gethostbynamel')) && !function_exists('wp_remote_post') ) {
//751行
if ( !function_exists('fsockopen') || !function_exists('gethostbynamel') )
//换成
if ( (!function_exists('fsockopen') || !function_exists('gethostbynamel')) && !function_exists('wp_remote_post') )
第一种 第三种 我都测试过,为了插件升级方便和其他程序可能也用到fsockopen,推荐第一种,要是不经常升级,第三种操作起来比较简单。
封fsockopen不是长久之策,很多软件默认都有用到这个函数~
还好我跑在自己的VPS上面~
怎么RSS订阅失效了?
@独自流浪: RSS失效?你用什么订阅的 我的google reader可以。
@funnyhao: QQ邮箱的订阅,长期没有你空间的更新
@独自流浪: QQ邮箱的订阅....
@funnyhao: 测试~
@funnyhao: 还是没邮件提示,你平时有收到吗?