【发布时间】:2011-12-14 03:38:25
【问题描述】:
我想知道将用户名、密码、服务器等保存在 php.ini 文件中是否安全,这样当我连接到 MySQL 服务器时,我不必总是输入参数?
此外,是否可以通过任何类型的方法(如 phpinfo() 或类似的方法)查看或检索此信息(保存在 php.ini 中)?
【问题讨论】:
标签: php mysql security authentication credentials
我想知道将用户名、密码、服务器等保存在 php.ini 文件中是否安全,这样当我连接到 MySQL 服务器时,我不必总是输入参数?
此外,是否可以通过任何类型的方法(如 phpinfo() 或类似的方法)查看或检索此信息(保存在 php.ini 中)?
【问题讨论】:
标签: php mysql security authentication credentials
如上所述,.ini 文件可能不会比将其存储在 .php 文件本身更安全。但是,需要考虑的一件事是,在使用 .ini 文件时,此设置实际上对所有 PHP 代码和网站都是全局的。使用 .ini 文件可能会影响您希望使用其他用户的其他代码。
总的来说,最好的安全做法是不使用 .ini 文件来存储密码,因为它现在对任何在您的服务器上存储 PHP 文件的人开放。如果您突然需要为一个站点的多个站点或应用程序提供不同的登录名(对于单独的数据库),这也会带来一些麻烦。最好不要对多个数据库使用一个登录名,root 用户除外,该用户只能用于管理目的。
【讨论】:
只要您确保 ini 文件位于 DOCUMENT_ROOT 之外并且不可读,它的安全性不亚于任何其他方法。
【讨论】:
我不认为将任何配置保存在 php.ini 文件中存在安全风险,因为 ini 文件的位置在“公共”目录之外。没有用户可以访问此文件。
您可以使用 "ini_get" php 函数获取 ini 参数。您可以从此处找到有关此参数的更多信息: http://php.net/manual/en/function.ini-get.php
【讨论】:
如果您将它放在一个没有扩展名的文件中,然后使用 .htaccess 保护该文件,它会更加安全。此外,任何浏览器都可以读取 .ini 文件,因此非常不安全。
【讨论】:
不安全,因为可以用php方法读取ini文件:parse_ini_file
【讨论】:
您不必每次都将该信息放入参数中。您可以在单独的文件 (dbconnection.php) 中定义连接,并将其包含在需要数据库连接的文件中。
【讨论】: