修的了电脑 敲得了代码
     写得了前端 稳得住后端

WORDPRESS页面异常导致本地路径泄漏-Fatal error: Call to undefined

在使用百度云观测的时候,弹出了网站的安全警告:页面异常导致本地路径泄漏,还给出了漏洞页面的地址:http://*.com/wp-content/themes/uptown/,指向了本博客使用的主题目录首页文件index.php。点开这个链接,显示了一个错误信息,其中包含了博客所在主机的本地磁盘路径。

1
2
Fatal error: Call to undefined function get_header() in
/home/public_html/blog/wp-content/themes/uptown/index.php on line 4

这明显是一个调试信息,指明了访问该文件发生了错误,并且贴出来主机的本地路径。我接着试验了wordpress主题目录和include目录下的其他文件,出现了相同的本地路径泄露情况。

一般的,当通过浏览器访问如下文件时,文件没有对访问权限进行验证,会引发Call to undefined function调用未定义函数错误,当未禁用错误报告或错误显示时会导致网站绝对路径泄露。

1
2
3
4
5
6
7
8
9
10
11
12
wp-admin/admin-functions.php
wp-admin/upgrade-functions.php
wp-includes/class-snoopy.php
wp-includes/registration.php
wp-includes/rss-functions.php
wp-includes/rss.php
wp-includes/theme-compat/comments-popup.php
wp-includes/theme-compat/comments.php
wp-includes/theme-compat/footer.php
wp-includes/theme-compat/header.php
wp-includes/theme-compat/sidebar.php
wp-includes/registration-functions.php

对于这样的问题,只要禁止显示调试错误就可以了。对于PHP+Apache的wordpress网站,有以下三种修补方式:

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

每一种方法都可以解决Wordpress页面异常导致本地路径泄漏的问题。

赞(0)
未经允许不得转载:流云溪|码农 » WORDPRESS页面异常导致本地路径泄漏-Fatal error: Call to undefined