我有訪問用戶信息的問題,而不使用會話和不使用cookie。 我如何管理沒有會話和沒有cookie的用戶信息? 請幫忙沒有會話沒有cookies?
回答
假設你正在談論Web瀏覽器和HTTP:你不能。
HTTP是無狀態協議。要用服務器端狀態重載它,需要一些唯一標識請求者的方法。而Cookie是Web瀏覽器保持客戶端狀態的唯一方式。
[編輯要注意]我應該指出,然而,人們可以想到的嵌入狀態數據的有限量的在適當的URI,作爲查詢或片段的URI的部分的一部分。這是有限的,因爲大多數(每個?)實現對URI的最大長度施加了某種限制。此外,您的網絡應用程序將需要確保狀態數據正確地從URL傳播到URL。爲了安全起見,它應該進行加密處理,以免URI欺騙導致您的網站被破解。
您可以使用MySQL數據庫來存儲用戶信息。不幸的是,如果沒有使用會話變量,你必須通過一個url變量傳遞用戶的憑證,比如?username = dave password = cat(不要這樣做),否則你只需要學習一些關於安全性和以正確的方式做事(PREFERRED)。
謝謝..對於幫助 – user1649879
這似乎是一個不必要的要求警告低於,但我會拍攝。
當用戶登錄時,向他們發出安全令牌。將該令牌存儲在數據庫中。令牌應該包含任意值(例如,十六進制編碼的GUID),而不是的名稱或密碼。數據庫還存儲令牌和實際用戶ID之間的關係。令牌應該有一個到期日期。
將令牌與每個請求一起作爲URL的一部分傳遞(ASP.Net爲無Cookie會話做這些事情)。由於您不想使用會話狀態,因此您必須在其他地方存儲與用戶有關的任何信息,可能是數據庫。每個頁面上的每個URL都需要有令牌。
您還可以在Web瀏覽器中利用local storage獲取非安全信息。
There are在ASP.Net中會話不切實際的情況下,即使是非常輕量級的對象。這是因爲會話訪問是如何序列化的;假設您的儀表板頁面中充滿了小部件,這些小部件向需要了解會話相關信息的WCF端點發出請求。如果該端點使用會話狀態,則每個請求將連續執行,因此性能會受到影響。
...如果兩個併發請求爲同一會議上提出的(通過使用 相同的SessionID值),第一個請求到達 會話信息的獨佔訪問。第二個請求僅在 第一個請求完成後才執行。
http://msdn.microsoft.com/en-us/library/ms178581(v=vs.100).aspx
每一頁上隱藏輸入可以做到這一點,但你會使用POST的一切,而不是GET被卡住。這是非常不推薦的。
- 1. 沒有cookies的會話
- 2. 沒有cookies的Scalatra會話
- 3. Node.js的會議沒有cookies
- 4. 沒有cookies不工作PHP會議使
- 5. 將cookies轉換爲沒有javascript的會話
- 6. 單頁面應用程序,沒有cookies,tomcat會話管理
- 7. 禁用cookies,javascript,HTTP Referer和沒有GET/POST的網站會話?
- 8. 會話cookies = cookies?
- 9. 有沒有機會破解codeigniter會話?
- 10. 快速會話沒有存儲會話
- 11. 快速會話沒有存儲會話
- 12. cakePHP「會話」沒有返回會話ID
- 13. Cookies不會設置,會話有效
- 14. JavaScript Cookies沒有設置
- 15. symfony 2.4 cookies沒有設置
- 16. C#HttpWebResponse沒有看到cookies
- 17. 沒有cookie的OpenCMS會話?
- 18. 會話對象沒有`request_token`
- 19. PHP沒有創建會話
- 20. PHP沒有開始會話?
- 21. PHP會話沒有啓動
- 22. 沒有Express的Socket.io會話
- 23. 會話cookie沒有了document.cookie
- 24. 沒有Cookie的CakePHP會話
- 25. 沒有設置PHP會話
- 26. J_security_check會話沒有結束
- 27. 沒有cookie的PHP會話
- 28. PHP會話沒有設置
- 29. 會話沒有通過
- 30. Laravel會話沒有存儲
你不能。你爲什麼想要? – woz
您可以使用http基本認證並通過播放中的用戶名跟蹤所有內容。這不會使用cookie或會話,但可以通過將所有內容綁定到用戶名來模擬會話,而不是隨機的ish會話ID + cookie –