2011-04-28 50 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