当前位置:首页 »“秋了秋”个人博客 » WP教程 » wordpress解决360网站安全提示本地路径泄漏另类方法

wordpress解决360网站安全提示本地路径泄漏另类方法

作者:秋了秋 发表时间:2014年07月24日

你的网站安全度高吗?你的wordpress够安全吗?快用360网站安全扫描一下就知道了~注意:此不是打广告,我与360没有任何关系~可是这个确实很好用。如果扫过的人就会发现,wordpress有几个本地路径泄漏漏洞是没修复的。具体类似于下图:

360网站安全漏洞

之所以出现这些漏洞问题是因为如果黑客直接输入这样的网址://netblog.cn/wp-includes/user.php

将会出现不能访问并且报错的现象:Fatal error: Call to undefined function add_filter() in /home/vhosts/netblog.cn/wp-includes/user.php on line 71。那么你的服务器路径就完全暴漏出来了,那对于黑客来说就明显降低了服务器攻击门槛。

修复这样的漏洞很简单,360网站安全有文档说明:

关于此漏洞的修复方案如下:

如果WEB应用程序自带错误处理/管理系统,请确保功能开启;否则按语言、环境,分别进行处理:
1、如果是PHP应用程序/Apache服务器,可以通过修改php脚本、配置php.ini以及httpd.conf中的配置项来禁止显示错误信息:
修改php.ini中的配置行: display_errors = off
修改httpd.conf/apache2.conf中的配置行: php_flag display_errors off

修改php脚本,增加代码行: ini_set('display_errors', false);

2、如果是IIS 并且是 支持aspx的环境,可以在网站根目录新建web.config文件(存在该文件则直接修改),或者可以参考这里:

http://webscan.360.cn/protect/index/domain/netblog.cn

PS:《360网站安全检测》会去猜测敏感文件,如果您被报此漏洞,但又确实不存在提示的文件或路径的,只要关闭服务器的显示报错即可。

很明显对于用虚拟主机的人来说除了被我标注为红色的之外,其它做法都不行的,那我们就用红色标注的那行修复,具体就是按照网址给出的路径找到这些页面,并在每一个这种页面第一行加上<?php ini_set('display_errors', 0); ?>这段代码就可以了,这样360再次检测的时候将不会有提示。但是服务器依然会有err_log日志产生,而且时间久了,该文档体积会越来越大,占用服务器空间。所以彻底的解决方案还要再加一行,合起来即为:

<?php ini_set('display_errors', 0);?><?php if (function_exists('get_header')) { get_header();}else{header("Location: http://" . $_SERVER['HTTP_HOST'] . "");exit;}; ?>

即,将错误提示巧妙地转向网站首页,这样服务器也不会报错了。

360网站安全检测

可有的时候会出现360网站安全文档里面的PS段,即,明明不存在该页面,但它却报该页面泄露本地路径。我就遇到过,报//netblog.cn/vote.php安全漏洞,可是wordpress根目录是没有vote.php文件的,既然它那么喜欢没有的页面,那就给个另类方法,在根目录创建一个vote.php文档,里面放空或者加入上面的那段代码,那么它再次检测的时候就不会报错了~

0
文章作者: “秋了秋”个人博客,本站鼓励原创。
转载请注明本文地址:http://netblog.cn/blog/64.html

请求播放音乐,请点击播放

登 录
点击获取验证码
还没账号?点击这里