我可以使用.htaccess在php错误中隐藏路径吗?

时间:2011-04-09 14:05:26

标签: php .htaccess path

我可以使用.htaccess

隐藏php错误中的路径

示例:

Notice: Undefined variable: hello in C:\xampp\htdocs\mysite\index.php on line 3

我想使用.htaccess隐藏路径或打印一些东西让我知道如果有错误而没有打印页面的路径:

Notice: Undefined variable: hello on line 3

Notice: Undefined variable: hello

There is error in your page

编辑:

我把这些行放在我的.htaccess中 但我无法访问我的网站。出现错误“内部服务器错误” 我该如何解决?

# supress php errors
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
php_value docref_root 0
php_value docref_ext 0

3 个答案:

答案 0 :(得分:4)

PHP的错误消息不适用于用户,仅适用于开发人员。

因此,对于生产环境,您应该禁用display_errors以避免信息泄露:

  

注意:[ display_errors ]是一项支持您的开发的功能,不应在生产系统上使用(例如连接到互联网的系统)。

相反,您应向用户显示一般性错误消息,这些消息不会揭示内部的任何内容,只会记录错误消息(请参阅log_errorserror_log):

  

注意:强烈建议您使用错误记录代替生产网站上的错误显示。

如果您真的想修改PHP的错误消息,可以使用set_error_handler设置自定义错误处理程序。

有关详细信息,另请参阅OWASP’s Development Guide on “Error Handling, Auditing and Logging”

答案 1 :(得分:2)

您无法更改消息:这些消息是由PHP生成的,就像它们一样。


但是您可以阻止它们显示给您网站的用户 - 并且仍然记录它们,供您自己使用。
为此,请参阅:


当然,这并不妨碍您尽可能多地修复通知/警告/错误的原因; - )

答案 2 :(得分:0)

摆脱所有无用的东西。

php_flag display_errors 0
单凭就足够了。

如果错误仍然存​​在,请检查服务器的error_log以获取错误消息