可能重複:
How do I authenticate a user in PHP/MySQL?用戶「登錄網站」如何做到這一點在PHP
如何做PHP的用戶認證,我知道會話+餅乾聽起來不錯,但我的意思它背後的邏輯是什麼。 我匹配用戶名和密碼與數據庫,然後分配會話ID,我把這個ID回數據庫? 或者我不把它存儲在數據庫中,但是我如何確保它的用戶A不是用戶B等ID?
可能重複:
How do I authenticate a user in PHP/MySQL?用戶「登錄網站」如何做到這一點在PHP
如何做PHP的用戶認證,我知道會話+餅乾聽起來不錯,但我的意思它背後的邏輯是什麼。 我匹配用戶名和密碼與數據庫,然後分配會話ID,我把這個ID回數據庫? 或者我不把它存儲在數據庫中,但是我如何確保它的用戶A不是用戶B等ID?
爲什麼不嘗試框架?我會推薦的一個(還有很多其他的)是CodeIgniter 設置登錄功能非常簡單,並且不需要混淆所有'樣板'代碼(您指的是),並且實際上與您的應用開發。
下面是步驟
有一個用戶表,用戶名和密碼
賦予形式,爲用戶在輸入自己的用戶名和密碼
獲取用戶名並從DB中拉出相應的記錄並比較密碼(請參閱註釋)
如果用戶名a第二密碼匹配,設置會話標誌,並把用戶的登錄會話($_SESSION['user'] = $user_obj
)
確保您在所有頁面都檢查$_SESSION['user']
是否設置並填充一個共同的腳本。如果沒有設置,只需將他指向登錄頁面即可。
注意:確保你不店的明文密碼。您應該存儲密碼的hash。您可以與鹽散列,並使用強散列機制
一些鏈接來看看
How can I encrypt password data in a database using PHP?
How do you use bcrypt for hashing passwords in PHP?
而且,這裏就有關主題NETTUTS的視頻教程:http://net.tutsplus.com/articles/news/how-to-build-a-login-system-for-a-simple-website/
我不想用框架感謝,我寧願自己做 – John 2011-05-26 14:51:03
呃有人喜歡痛苦;) – Jakub 2011-05-26 14:52:14