我是网络编程的初学者。我正在尝试创建一个从 SQL 数据库读取数据的简单网站。起初我只是写了我的数据库密码并直接登录到 php 代码中:
<?php
$username = "login";
$password = "pw";
mysql_connect("server", $username, $password);
...
?>
这显然不是一个好主意!那么什么是(更)“安全”的方式来做到这一点?我读到有关将 php 代码放入一个单独的文件中,这意味着不进入网站的主要 php 文档,然后限制对该文件的访问。也许通过 .htaccess 文件。这是要走的路吗?
最佳答案
config.php
文件和 .htaccess
是一个经典/好的方法。这是通常使用 CMS 或框架完成的方式。
正如 JohnP
所指出的,您还可以将 config.php
存储在公共(public)目录之外,这意味着它不能可以通过 HTTP 访问。这对安全性来说只是稍微好一点(如果您的 .htaccess 没有出错,就没有更多的风险)。
文件结构示例:
config/
-> 配置文件lib/
-> 库和实用程序 PHP 文件public/
-> 所有你公开的页面/文件/图片...
这样,http://www.your-site.com/指向 public/
,因此无法访问配置。但是这个解决方案意味着您可以更改根 Web 目录(或者它已经是那样了)。
最后,你必须记住设置这个文件只有 Apache 用户可读和可写,而不是所有人(unix 文件访问权限),这样如果有人通过另一个用户访问你的服务器,他无法读取文件。
关于php - 在 PHP 代码中隐藏数据库登录信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5962450/