Hello web开发人员
我正在使用PHP和MySQL开发网站,我需要一种安全的方式来以安全的方式存储MySQL连接数据(即主机,用户名和密码)。
我找到了很多这个问题的答案,我找到的最好的答案是将它们存储在php.ini
文件中。我还意识到保护这些数据的关键是将它们存储在您的主目录之外(如果您正在使用xampp
或public_html
,如果您正在某个地方托管您的网站,那么就像htdocs那样)。
我现在将它们存储在php.ini
文件中,但我上传网站后无法访问它。
我该怎么办?
答案 0 :(得分:1)
没有必要将凭据放在php.ini中。它们不比HTTP文档位置之外的任何其他文件更安全。
将连接参数存储在HTTP请求可以直接到达的任何目录 的任何PHP文件中就足够了。即请勿将其放在DocumentRoot
或您的HTTP服务器可以访问的任何其他Location
中。
确保您的服务器本身不会受到损害。如果有人可以入侵并直接访问HTTP服务器上的文件或进程,则数据库凭据不是您最担心的。
如果您无权访问域文件夹之外的任何文件夹,您是否至少可以将.htaccess
文件设置为deny from all
,以便没有HTTP请求可以直接访问该文件(或目录) )你存储私人数据的地方?当然,PHP代码仍然可以使用include
或require
来读取此类文件。