所以目前在我的网站上,我在注册帐户时记录用户OS
。然后他们可以在“帐户页面”上查看(注册时记录的OS
)。
但我的问题是,让用户OS
解析PHP中的useragent
是否可靠?例如,我通过php中的useragent
获取用户$_SERVER['HTTP_USER_AGENT']
,然后解析它以从OS
中提取useragent
。我可以依赖合法用户准确吗?
我真的不在乎黑客是否可以欺骗useragent
,所有我真的想知道的是,这个($_SERVER['HTTP_USER_AGENT']
)是否会让用户准确OS
来自合法(非)黑客)网站访问者?
答案 0 :(得分:1)
你似乎在问这个领域是否可靠,是否可靠?嗯,是的,你可以;当它可靠时,它是可靠的。
但这些时间很少见。你不需要成为欺骗用户代理的“黑客”。如果请求是脚本化的,则可以使用简单的浏览器扩展,或在wget
或curl
命令中添加一个额外的参数。
用户代理是100%易错的,你不应该依赖它来做任何有用的事情。
答案 1 :(得分:0)
是的,对非黑客用户来说是可靠的。
更多说明
用户代理字符串是浏览器自身发送给网络服务器以识别自身的文本,因此网站可以根据浏览器或基于浏览器兼容性发送不同的内容。
Mozilla是一个浏览器渲染引擎(Firefox的核心)以及Chrome和IE包含字符串Mozilla / 4或/ 5的事实表明它们与该渲染引擎兼容。
您还可以使用php的get_browser()功能。
答案 2 :(得分:0)
大部分时间它非常可靠,因为大多数人都不会为改变这些信息而烦恼。因此,将它用于纯粹的二级和易用性功能就可以了 特别是在这些情况下,您可以使用它来填写“默认”值。如果错误,用户可以选择更改。
但是,由于可以可以由任何对HTTP和/或Web浏览器有所了解的人进行更改/欺骗,因此您不得依赖它来处理与安全相关的任何事情。甚至有很多浏览器,它们会让用户随意更改其用户代理字符串 这包括使用用户代理字符串来尝试识别用户。因为复制标题并欺骗自己很容易。
使用SSL会略微增加难度。但是,为了从您的用户(或管理员)获取所有标头,攻击者所需要的只是将您网站上的链接发布到他自己的服务器上。之后,他可以随心所欲地做任何他想做的事。
答案 3 :(得分:0)
如果要使UI更加友好。可以说:“用户使用Chromer吗?”然后给他看一些有用的信息。然后其100%可靠且非常有用。我不在乎我的UI对黑客有多友好。
例如,在某些情况下...让我们说,由于某种原因,您想阻止除Chrome所有者以外的每个人,..您不能依靠它。