簡體   English   中英

如何創建登錄模塊

[英]how to create a login module

我必須創建一個登錄模塊(問題不是特定於語言的),但是我不確定如何驗證用戶。 我在哪里以及如何存儲密碼。 我是否需要加密和解密密碼?如果可以,建議的最佳密碼是什么? 總的來說,我需要了解開發登錄模塊所需的所有事項,以便用戶可以安全地登錄以訪問我的網站。

您無需解密密碼即可對其進行驗證,只需一種加密方法即可。 這個想法是,當用戶輸入密碼時,可以用相同的方式(使用相同的算法和“鹽”)對密碼進行加密,然后與存儲在數據庫中的加密密碼進行比較。 如果它們相等,則很有可能意味着它是相同的原始密碼。 因此,您可以防止任何人(管理員或任何攻擊者)知道用戶在您的網站上使用的原始密碼。

至於其余的內容,這很簡單,您的數據庫中有一個表,其中包含用戶登錄名,加密的密碼,還可能包含一些配置文件信息(全名等)。

我通常使用以下函數來哈希用戶密碼:

$password_hash = sha1(MY_SALT_1 . $login_name . MY_SALT_2 .
    $password . MY_SALT_3);

其中MY_SALT_ *是任意預定義的字符串,例如可以是“黑暗”,“側面”,“月亮”(或實際上相關性越低越好)。

是的,請確保您需要加密用戶密碼。因為大多數用戶幾乎所有站點都使用相同的密碼。那時他們不想將密碼顯示給admin。另一個原因是大多數時候站點數據庫可能是不僅可以由管理員訪問,還可以由組織中的其他一些技術人員訪問,因此最好對密碼進行加密.SHA1是進行加密的最佳方法。
Where and how will i store the passwords.
我不確定這是什么意思,每個人都像phpmyadmin這樣使用數據庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM