我可以在PHP中執行登錄領域,並且我通過設置會話變量並檢查會話變量是否已設置。在每個受限制的頁面上,我檢查是否設置了某個會話變量(或等於某個特定值)。如果不是,那麼我會將用戶返回到登錄頁面。這是做這件事的最好方法嗎?有沒有更安全的方法來做到這一點?在PHP中創建登錄領域的最佳方式
2
A
回答
0
1
這很好,很正常。在頁面頂部,您有一個標題,用於啓動會話並檢查用戶是否已通過身份驗證。當他們沒有時,讓他們登錄。
只要您的會話ID不可預知,足夠快到期並且您正在使用SSL,那麼A-OK和安全。
如果有人可以猜出您的會話ID,他們可以劫持另一個用戶的登錄名。
如果您不使用SSL,攻擊者可以在客戶端將其發送給您時竊取會話ID。
如果您的會話永不過期,最終可能會猜到ID。
1
有很多思考,當你設置一個登錄系統。以下是一些您想要回答的問題:
- 安全性:您需要對存儲的任何地方(cookie,數據庫,會話等)的密碼進行加密。你會怎麼做?
- 用戶能夠登錄到每個頁面嗎?或者會有一個集中的帳戶頁面?
- 有沒有記住我的功能?
- 用戶將如何註銷?
- 你有你的網站激活?它將如何工作?您將如何處理各種情況,例如嘗試登錄的未激活用戶?
- 你有登錄/表單重定向嗎?也就是說,如果用戶在沒有登錄的情況下轉到一個頁面,你會在登錄後將它們發送到那裏嗎?如果他們嘗試發送表單怎麼辦?你會重新發送表格嗎?
你的基本思想是正確的,但是你構造一切的方式取決於那些和其他問題。
相關問題
- 1. 最佳登錄方式?
- 2. 使用HSQLDB創建登錄頁面的最佳方式 - Java
- 3. 用PHP創建PDF的最佳方式
- 4. 用php和jquery創建一個彈出框登錄的最佳方式
- 5. 使用Lift在Scala中創建登錄/註銷表單的最佳方式
- 6. 哪個是在Rails中爲初學者創建登錄的最佳方式?
- 7. 什麼是在liferay中創建自定義登錄頁面的最佳方式
- 8. PHP - 最佳登錄系統方法
- 9. 什麼是在PHP中創建XLS文件的最佳方式
- 10. 在PHP中創建Singleton Webservice的最佳方式是什麼?
- 11. 單點登錄最佳方法建議
- 12. Ews登錄驗證最佳方式
- 13. Php登錄 - 最佳實踐
- 14. Asp.Net最佳登錄方法
- 15. Django的REST框架:填充領域的最佳方式手動
- 16. 最佳的排序方式使用兩個不同的領域
- 17. 最佳的方式在PHP
- 18. 創建php rabbit worker的最佳方法
- 19. 在小網站中實現登錄系統的最佳方式
- 20. 在default.ctp中顯示當前登錄用戶的最佳方式?
- 21. 在JSF中實現用戶登錄頁面的最佳方式
- 22. JDBC領域登錄頁面
- 23. 創建域設計模型的最佳方式?
- 24. 在Unity中創建不同區域的最佳方法?
- 25. 創建Android標籤的最佳方式
- 26. 創建javascript對象的最佳方式
- 27. TYPO3 - 創建100000頁的最佳方式
- 28. 創建主鍵的最佳方式 - Swift
- 29. 爲Android創建ListView的最佳方式
- 30. 在Android中創建交互式佈局的最佳方式
如果可預測的話會怎樣? – denniss 2010-07-28 22:51:40
@denniss:正如我所說,如果有人可以猜測另一個用戶將擁有什麼會話ID,他們可以假裝是該用戶。 – Borealid 2010-07-28 22:52:57