我完全不熟悉安全方面的事情。我有一个带有管理页面的网站,admin.php可以访问几个.php文件,这些文件对我来说更新数据库等等。所以在我的管理页面上我可以使用以下内容保护我的登录:
<?php
define('SALT_LENGTH', 9);
function generateHash($plainText, $salt = null)
{
if ($salt === null)
{
$salt = substr(md5(uniqid(rand(), true)), 0, SALT_LENGTH);
}
else
{
$salt = substr($salt, 0, SALT_LENGTH);
}
return $salt . sha1($salt . $plainText);
}
?>
这是一个很好的方法,我应该做些额外的事吗?
php文件,说它们存储如/phpfiles/dosomething.php 我如何保护dosomething.php?它应该有密码吗?如果我有密码,admin.php如何访问它?
由于
答案 0 :(得分:1)
生成哈希只是安全和身份验证的一部分。
就访问脚本而言,常见的建议是将您的php文件存储在webroot之外。因此,使用http://domain.com/youphpfile.php无法访问您的文件 而是使用.htaccess将所有流量重定向到index.php文件并从那里路由请求。
根据您正在使用的网站的大小,您是否考虑过使用一些具有Auth模块的PHP框架?
或者,如果你有一个较小的网站,而你只需要一些脚本,请考虑使用Apache查看htpasswd。所以你可以用密码保护整个目录。即webroot中的admin目录。