> 백엔드 개발 > PHP 튜토리얼 > WordPress禁止输出错误信息设置方法_PHP教程

WordPress禁止输出错误信息设置方法_PHP教程

WBOY
풀어 주다: 2016-07-20 11:16:48
원래의
1061명이 탐색했습니다.

 用网站安全检测扫瞄博客,发现了一个漏洞,实际上就是直接访问主题路径的话,get_header()函数未生效(Call to undefined function get_header() ),而我的WordPress会输出完整的错误信息,将敏感名称的目录结构暴露了,虽然对正常访问没有影响,可是会给某些人可乘之机。经常在博客后台看到很多人扫瞄博客各种路径或文件,尽可能多的解决漏洞,会大大增强网站安全性。秀一下我的博客安全性,100分,没有漏洞;虽说只是表面的,但是我会发现一个解决一个!

下面详细说明下我遇到的问题和解决方案,供参考。

环境:linux vps + lnmp

完整错误信息如下:

Fatal error: Call to undefined function get_header() in /网站根路径/izhangheng/wp-content/themes/twentytwelve/ on line 10

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

1.1、修改php.ini中的配置行: display_errors = off
2.2、修改httpd.conf/apache2.conf中的配置行: php_flag display_errors off
3.3、修改php脚本,增加代码行: ini_set(‘display_errors’, false);

针对这个问题,仅不显示错误信息是不完美的,出错后跳转到首页,可以避免流量丢失。我的环境默认就关闭显示错误信息,只需要在有漏洞的页面源码前调用WordPress函数即可。首先进入到WordPress后台的外观中,比如编辑的是index.php首页模版,将头部代码更改为下面的即可,注意所有符号为英文。

 代码如下  


/**
* @package WordPress
* @code www.45it.net
if (function_exists('get_header')) {
 get_header();
}else{
    header("Location: http://" . $_SERVER['HTTP_HOST'] . "");
    exit;
}; ?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/372436.htmlTechArticle用网站安全检测扫瞄博客,发现了一个漏洞,实际上就是直接访问主题路径的话,get_header()函数未生效(Call to undefined function get_header() ),...
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿