PHP在服务器根目录中存储密码

时间:2012-06-06 07:24:20

标签: php security

如果我在我的服务器根目录中存储了一组登录凭据,如果我只是将它存储在PHP文件中,是否存在安全风险?

$user = 'user';
$password = 'password';

我将登录凭据存储到我的网站上具有锁定内容的页面,用户必须单击要接收的链接,这是您想知道的。当用户登录时,我可以像这样授权登录,对吗?

include('../logininfo.php');
if ($_POST['user'] == $user) {
//...etc

这种方法有问题吗?

2 个答案:

答案 0 :(得分:8)

是的,你应该避免这样做。有可能(我从经验中说)你的webhost可能搞砸了,开始以纯文本形式提供PHP文件,而不是执行它们。

您应该将凭据文件放在Web根目录之外。您仍然可以包含它,但不会通过浏览器提供。

如果您所在的共享Web主机不允许您在Web根目录之外访问,请将凭证文件放在其自己的目录中,并使用.htaccess文件阻止对该目录的访问。请参阅此处了解执行此操作的步骤:Deny direct access to PHP file

您应该使用MySQL数据库存储用户名和散列密码的事实超出了本答案的范围。我会假设你有充分的理由去做你正在做的事情。

答案 1 :(得分:2)

只要没有人可以访问您的服务器,我认为没有任何风险。但我还是建议你使用哈希密码!