保护PHP文件

时间:2010-01-19 03:31:03

标签: php javascript cookies security

我有一个PHP文件我基本上给了我所有用户的密码。我想成为唯一一个能够查看内容并查看页面的人。这是最好的方式吗?

密码保护?需要一个只有我的特殊cookie?

给我一​​些想法..

4 个答案:

答案 0 :(得分:12)

我建议您停止存储密码并存储密码的哈希值。即使您不应该真正了解用户的密码。

您所做的甚至不是身份验证或授权。充其量是它的识别。 Chacha102说,如果你真的喜欢皮革,Chacha102说,加上你也想要chgrp它和chmod它,这样只有互联网用户和你的用户才能看到它。

答案 1 :(得分:1)

如果您希望能够通过浏览器查看,请尝试以下操作:

查看WWW基本身份验证,它基本上会让浏览器提示您输入用户名和密码。

http://www.htaccesstools.com/htaccess-authentication/
http://eregie.premier-ministre.gouv.fr/manual/howto/auth.html

如果您有静态IP地址,则可以确保只有您的IP地址可以看到该页面:

if($_SERVER['REMOTE_ADDR'] != '192.168.1.1')
{
      die();
}

如果浏览器无法看到它,最佳解决方案是将文件放在DocumentRoot上方。 AKA:

  

如果index.php文件位于/ Path / To / Root / Public_HTML,则将文件放在/ Path / To / Root

答案 2 :(得分:1)

请勿将用户密码以明文形式存储,并将其存储在数据库中。

由于我假设你需要以用户身份登录的功能,我建议创建一个脚本,让管理员帐户(你可以识别你想要的)以任何用户身份登录。

答案 3 :(得分:0)

如果您将所有数据存储在wwwroot下的某个位置,则无论是否出于安全漏洞的错误配置,您都有可能下载该文件。该解决方案还可能包括用户和密码的硬编码,这使得密码轮换更加困难。如果用户可以更改文件中的值,则必须非常小心,他们不能将PHP代码注入密码文件,否则他们将能够接管您的应用程序。管理员查看明文密码的能力被认为是一种不好的做法,应该避免使用。

现代最佳做法是尽可能不这样做。将数据存储在Web服务器通常不允许直接下载的位置(例如,在wwwroot之外或在您已经防止SQL注入问题的数据库中),实现身份验证和授权方案,并依赖于该方案控制谁被允许做什么。

查看www.owasp.org以获取更多详细信息 - 这是一个很好的起点。