此问题在此处已有答案:
Where to safely store database credentials within a PHP website [closed](1个答案)
26天前关闭。
我有一个SQL数据库,我目前在PHP文件中使用硬编码的凭据。我如何确保人们看不到这些凭据?
我看到有人说使用配置文件,但我不知道如何做到这一点
凭证当前被硬编码到需要DB访问的每个PHP文件中。
此问题在此处已有答案:
Where to safely store database credentials within a PHP website [closed](1个答案)
26天前关闭。
我有一个SQL数据库,我目前在PHP文件中使用硬编码的凭据。我如何确保人们看不到这些凭据?
我看到有人说使用配置文件,但我不知道如何做到这一点
凭证当前被硬编码到需要DB访问的每个PHP文件中。
1条答案
按热度按时间stszievb1#
最简单的解决方案是在单独的PHP文件中编写一次数据库连接代码:
db.php
:字符串
然后在需要数据库的给定PHP脚本中,使用
require()
,以便加载此文件:型
我展示了在
db.php
中定义的带有PHP常量的数据库凭证,您也可以将凭证存储在配置文件中,读取该配置文件以获取这些值。db.ini
:型
db.php
:型
没有人能够读取你的PHP代码文件或配置文件。http服务器应该通过 * 运行 * PHP文件来防止这种情况,而不是提供它们以供查看。Http请求可以查看PHP脚本的输出结果,但不能查看PHP代码本身。
但是http服务器可能会被错误配置,并意外地提供PHP文件。为了减少这种风险,将大部分PHP代码放在http文档根目录之外,这样即使http请求可以查看PHP源文件,它们也无法查看http服务器不提供的文件。一些PHP文件必须通过http访问,但您可以通过include_path引用其他PHP文件中的大部分代码。
同样,
db.ini
文件应该在http文档根目录之外,并由include_path引用。