学习PHP连接脚本使用httpsfox显示常量


Learning PHP connect script shows constants using httpsfox

嗨,我正在读PHP教材。现在我正在学习如何使用mysqli连接到数据库。

以下是脚本中的一些代码:

DEFINE ('DB_USER', 'myname');
DEFINE ('DB_PASSWORD', 'local123');
DEFINE ('DB_HOST', 'localhost');
DEFINE ('DB_NAME', 'sitename');

然后脚本使用mysqli建立一个数据库连接。

其中一段写道:"由于文件中包含必须保密的数据库访问数据,因此脚本将使用.php扩展名,因为即使恶意用户在浏览器中运行脚本,他们也看不到脚本的内容。"

我很好奇,打开httpfox运行了脚本。看起来连接确实显示了所有敏感信息!如果你点击内容标签。

所以使用php不会增加安全性?

还要注意,在.php文件中包含敏感信息(如数据库登录名)并不能阻止未经授权的用户访问该文件。运行文件的web服务器的文件系统上使用的权限以及web服务器本身的安全性将对恶意用户是否能够访问文件内容产生巨大影响。

也就是说,据我所知,没有一种100%安全的方法可以将数据库登录名(或任何敏感信息)存储在PHP文件中。

确保PHP代码包含在<?php?>中。未包含在<?php?>中的代码由PHP解释为应发送到浏览器的输出。所以你应该做一些类似的事情

<?php
DEFINE ('DB_USER', 'myname');
DEFINE ('DB_PASSWORD', 'local123');
DEFINE ('DB_HOST', 'localhost');
DEFINE ('DB_NAME', 'sitename');
?>