是否有理由让浏览器更改其用户代理?

时间:2014-08-15 19:13:45

标签: php security session user-agent

我目前正在为一个在网站上存储个人信息和信用卡信息的客户开发一个新网站。因此,安全性对我来说是一个大问题。这是我建立的第一个有敏感信息的网站,因此我对整个主题不是很熟悉。

该网站使用会话管理用户。但是,我发现很难保持会话安全。我想实现一个用户代理检查,每次加载页面时都会检查浏览器。这样,当我将会话ID复制到我的“攻击者”浏览器上手动创建的cookie时,服务器将检测用户代理更改(从Chrome到Firefox)并拒绝该会话。

我的问题是,如果我在每次加载页面时都执行此检查以运行,那么我是否存在注销我的合法用户的风险?真实用户是否有理由在页面之间更改其用户代理?如果是这样,这种情况发生的可能性有多大?可能已经完全放弃了这种方法,还是可以接受的风险呢?

编辑:一旦浏览器关闭,cookie就会过期。此外,登录时设置的用户代理存储在会话中,并在附加盐后进行哈希处理。

1 个答案:

答案 0 :(得分:3)

是的,用户代理字符串可以更改。会话cookie的持续时间通常比单个浏览器会话长。如果用户升级他们的浏览器(目前在Chrome和Firefox中使用自动更新程序非常常见),则用户代理字符串中将显示不同的版本。

此外,用户代理字符串中会报告一些插件,如果用户安装了一个插件,则会更改插件。

您的用户代理字符串检查实际上并未提供任何额外的安全性。我不推荐它。