保护我访问多个php文件的管理页面

时间:2011-02-11 05:10:38

标签: php security

我完全不熟悉安全方面的事情。我有一个带有管理页面的网站,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如何访问它?

由于

1 个答案:

答案 0 :(得分:1)

生成哈希只是安全和身份验证的一部分。

就访问脚本而言,常见的建议是将您的php文件存储在webroot之外。因此,使用http://domain.com/youphpfile.php无法访问您的文件 而是使用.htaccess将所有流量重定向到index.php文件并从那里路由请求。

根据您正在使用的网站的大小,您是否考虑过使用一些具有Auth模块的PHP框架?

或者,如果你有一个较小的网站,而你只需要一些脚本,请考虑使用Apache查看htpasswd。所以你可以用密码保护整个目录。即webroot中的admin目录。