2011-04-28 67 views
1

我只是想知道在PHP登錄腳本中檢查用戶代理的優缺點。我在互聯網上發現了很多相互矛盾的信息,我想知道是否值得在我的事件列表登錄腳本中使用它。在PHP登錄腳本中檢查用戶代理

+3

你想通過查看用戶代理來完成什麼? – 2011-04-28 19:50:45

+0

我只是想用它作爲額外的檢查來驗證已登錄的用戶。我目前使用會話和cookie來記住我的功能。我使用http://stackoverflow.com/questions/549/the-definitive-guide-to-website-authentication作爲參考。 – Tracy 2011-04-28 21:07:48

回答

0

用戶代理很容易被惡搞。例如,每次訪問google.com時,我的Firefox都會向其發送用戶代理字符串「Google即搜即得,而我不保留Cookie」。 (感謝UAControl擴展!)

出於安全目的,您不能依賴用戶代理。

0

您可能瞭解用戶代理欺騙,因此不應該使用它來驗證用戶身份。但是如果你使用它作爲登錄嘗試歷史的一部分(這是事件列表是什麼?),那麼它是一個有用的額外信息。

0

您可以假設對於'普通'用戶,用戶代理字符串在會話期間保持不變。

我不會將它用作嚴格檢查來防止會話劫持。

1

大多數人會告訴你,用戶代理可能被欺騙,並且它不會提供任何保護。但是,考慮到可以欺騙用戶代理的用戶數量與不可用的用戶數量,我建議您仍然添加用戶代理檢查。

請注意,如果他們升級瀏覽器,用戶代理可能會更改。

不要僅僅依靠用戶代理驗證會話,不要爲了實現這個目的而犧牲其他安全措施。另一個建議是不要吐出錯誤代碼:「無效的用戶代理」。讓那些試圖進入你的網站的人必須弄清楚,因爲這樣可以阻止更多的人嘗試。

結論:添加它,但不要依賴它是唯一的安全功能。

+0

我會說:**不要**,只是因爲「如果他們升級瀏覽器,用戶代理可能會改變。」 – 2011-04-30 21:54:06