2011-04-02 39 views
1

你好朋友,我正在創建簡單的投資組合網站,其中管理員用戶名和密碼既不是醃製或使用md5,但純文本。 'login.php'頁面是'unguessable.php'頁面。這是簡單的網站好嗎?簡單的投資組合網站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'; 
} 
+0

有很多框架/ CMS已經完成了這個簡單的任務。不要重新發明輪子 – dynamic 2011-04-02 10:49:20

+0

無論如何,如果你正在學習,重新發明輪子是件好事。 – Donovan 2011-04-03 11:01:44

回答

2

此表格應該通過SSL(HTTPS)運行,以避免密碼在傳輸過程中受到威脅。

你應該永遠不要以純文本存儲密碼。 User->setPassword()是做什麼的?當->insert()被調用時,它是否僅將密碼的值分配給存儲到數據庫的某個屬性?爲什麼不在這個例程中使用salt和md5密碼?

如果您的數據庫遭到破壞,您顯示的密碼可能沒有被您的用戶選擇專門用於您自己的系統 - 因此您可能會導致更廣泛的安全問題。