我是PHP開發新手。我沒有任何同事討論PHP。所以我會在這裏發佈我的問題。這個PHP腳本是否安全?
我已成功地爲我自己做的登錄腳本,女巫看起來很像本網站上的腳本:http://www.phpeasystep.com/phptu/6.html
我的問題是。這是一種安全的方法嗎?有沒有關於PHP登錄腳本的很好的教程?在會話中存儲信息的方法有什麼問題嗎?
我是PHP開發新手。我沒有任何同事討論PHP。所以我會在這裏發佈我的問題。這個PHP腳本是否安全?
我已成功地爲我自己做的登錄腳本,女巫看起來很像本網站上的腳本:http://www.phpeasystep.com/phptu/6.html
我的問題是。這是一種安全的方法嗎?有沒有關於PHP登錄腳本的很好的教程?在會話中存儲信息的方法有什麼問題嗎?
您發佈的教程中存在一些問題。
如果您想要做的正確,請閱讀The definitive guide to form-based website authentication並實施它的建議。
它不是安全可言:
SHA1不被認爲是安全的一個登記表,更喜歡sha256或sha512 – 2012-04-19 08:13:17
是的。剛剛編輯:-) – Stefan 2012-04-19 08:14:11
看看這個腳本,我會說只要你實現了帶斜槓功能並使用哈希算法(SHA256)來存儲密碼,那麼你會走很長的路線。你可以通過向hash添加一個salt來進一步擴展它,如果有人曾經攻擊過你的數據庫並且執行了SELECT * FROM Password WHERE Password ='HASH',這將保護你。這將返回所有用戶名並允許攻擊者嘗試使用這些憑據登錄。 SQL Injections和XSS是網站上常見的攻擊類型,可以通過登錄系統執行。我會建議閱讀他們。
其他資源:
http://www.webstockbox.com/php/7-tutorials-on-how-to-create-a-php-login-system/
號它更安全不存儲密碼原樣。你最好散列密碼(即使用md5())並將散列存儲在數據庫中。要進行登錄,您需要從表單發送密碼,對其進行散列並與存儲在數據庫中的散列進行比較。
我會建議使用比md5更安全的東西。即SHA256 – 2012-04-19 08:25:05
絕對不安全,它將密碼存儲爲文本,無需散列。檢查密碼哈希(至少sha256,從不md5或sha1)和鹽漬 哈希將編碼密碼,以便在成功的數據庫攻擊的情況下沒有人能夠獲得密碼。 Salting會增加一些安全性,您只需在每個密碼中添加一些字符串並對其進行散列即可。您可以爲每個用戶和服務器salt使用一些不在鍵盤上的特殊字符。這將使密碼非常安全。 使用PDO和參數進行SQL查詢可以使其從SQL注入攻擊中更安全。
至於在會話中存儲 - 確定,但從不存儲密碼,密碼被插入,散列,並且再也不會使用,至少直到另一次登錄。
SHA512散列是鹽,如果可能最好的方式,但我發現這個負載和使用PDO,但我不能讓一個使用SHA512哈希任何想法回覆請
如果你有問題,你應該啓動一個新的 – 2012-12-22 00:18:21
我同時加密和密碼。這裏沒有問題。 只是想知道「從數據庫中選擇 - >在會話中存儲」的方法。 PHP新手,不想讓門打開:) – hogni89 2012-04-19 08:28:29