是否可以查看未回显的PHP内容?

时间:2010-02-18 11:09:06

标签: php security

想象一下以下PHP文件:

<?php
  $topSecret = "Something important";
?>

如果我把它放在运行标准LAMP设置的服务器上,有人怎么能找到$topSecret

如果变量没有回显,是否容易受到攻击?这种实际应用可能是存储在服务器的Web根目录中的数据库凭证。

2 个答案:

答案 0 :(得分:13)

如果PHP失败了somhow,那么页面将显示为plaint文本文件。那之前发生过;它曾经发生在Facebook。为防止这种情况,您应将所有敏感变量(密码等)存储在不在Web根目录中的php文件中。您可以将其存储在父文件夹中(如果您有权访问它)或存储在受apache(deny all)保护的子文件夹中。

答案 1 :(得分:6)

在正常情况下,无法查看。

但是配置中的错误或代码中的漏洞可以查看文件的内容。

通常,人们会将此类信息放在webroot之外,以减少此类事件发生的可能性。