对于简单的投资组合网站,php后端有多危险?

时间:2011-04-02 10:47:38

标签: php

朋友您好我正在创建一个简单的投资组合网站,其中管理员用户名和密码既不是盐渍的,也不是使用md5而是纯文本。 'login.php'页面是'unguessable.php'页面。简单的网站可以吗?

if(isset($_POST['btnCreateAccount']))
    {
        $Error->blank($_POST['username'], 'Username');
        $Error->blank($_POST['password'], 'Password');
        $Error->blank($_POST['level'], 'Level');
    $Error->email($_POST['email']);

    if($Error->ok())
    {
        $u = new User();
        $u->username   = $_POST['username'];
        $u->email      = $_POST['email'];
        $u->level      = $_POST['level'];
        $u->setPassword($_POST['password']);
        $u->insert();

    redirect('users.php');
    }
    else
    {
        $username = $_POST['username'];
        $email    = $_POST['email'];
        $level    = $_POST['level'];
    }
}
else
{
    $username  = '';
    $email     = '';
    $level     = 'user';
}

1 个答案:

答案 0 :(得分:2)

此表单应通过SSL(HTTPS)运行,以避免密码在传输过程中受到损害。

您绝不应以纯文本格式存储密码。 User->setPassword()做了什么?是否只是将密码值分配给在调用->insert()时存储到数据库的某个属性?为什么不在这个例程中使用salt和md5密码?

如果您的数据库遭到入侵,您的用户可能无法专门为您自己的系统选择您显示的密码 - 因此您可能会导致更广泛的安全问题。