簡體   English   中英

如何在不強制用戶注冊的情況下對用戶進行身份驗證?

[英]How can I authenticate users without forcing them to register?

我想建立一個我想過的網站,但是我不想讓用戶注冊。 相反,我想要某種可以使用PHP檢索的唯一ID。 該唯一ID可能與他們正在使用的網絡或他們的計算機有關。

我想到的一個主意是獲取用戶HWID並使用它。 那有可能嗎?

有人可以給我這樣做的好處和壞處,還可以給我一些可以使用的示例嗎?

您所描述的內容與PHP會話非常相似。 為用戶提供了唯一的ID,並在服務器端為該唯一的ID分配了變量(以$_SESSION超全局變量的形式)。 然后,用戶將在每個請求中發送唯一ID(使用cookie或get變量),PHP將獲取變量並設置適當的$_SESSION數組。

就安全性而言,這有點成問題。 會話ID可能被盜(例如,通過不安全的WiFi),然后服務器將錯誤地將攻擊者標識為受害者(在管理和訪問受限的情況下,這是有問題的)。 沒有什么能比一個好的用戶名/密碼組合更安全的了。

如果沒有存儲任何敏感信息,那么會話絕對是一個很好的解決方案。

有關會話,請參見PHP手冊。


不過,您應該注意,如果用戶將擦除其cookie(如果會話ID是通過cookie傳輸的),或者從變量中清除URL(對於GET變量),則該會話將過期,並且該用戶將不再認可。 服務器不能絕對識別客戶端。 如果用戶格式化/切換計算機怎么辦? 或者,如果他希望從另一台計算機使用您的服務怎么辦? 如果是這種情況,那么您想使用注冊和登錄系統。

暫無
暫無

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

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