我想在文本输入上面加上“你使用的是什么浏览器”这个问题。然后,当提交表单时,我想将他们的答案与他们的User-Agent HTTP标头进行比较。
我对如何可靠地完成这项工作感到难过。
我可以让他们拼出来而不是使用像IE或FF这样的首字母缩略词,但是Internet Explorer使用“MSIE”作为它的'标识符不是吗?
我的另一个想法是保留一组User-Agent字符串,然后用select元素呈现它们,这些元素随机插入4个左右的其他随机字符串并要求他们选择它们。我担心非技术娴熟的用户会因为这个问题而笨拙这个问题。我想我可以使用一些逻辑来确保选项中每种浏览器类型中只有一种,但即便如此,我也很谨慎。
答案 0 :(得分:6)
为什么要向用户询问其用户代理?
如前所述,拉出适当的http标头就足够了。
但如果你需要那么糟糕,我会去
上面看起来很模糊:)和抽象,也许你可以提供一个解释 - 为什么你想要那个?也许还有其他方法?
答案 1 :(得分:1)
记住:客户端发送HTTP标头,用户可以在User Agent中放置任何内容。因此,如果您想要抓住那些“撒谎”他们正在使用的浏览器的人,您只会抓住那些在发送之前无法修改HTTP标头的人。
答案 2 :(得分:1)
您既不能100%信任用户输入,也不能信任浏览器在HTTP标头中发送的字符串......
答案 3 :(得分:1)
显而易见的问题是,为什么要询问用户他们使用的是什么浏览器?
但鉴于此:
a)规范化用户字符串:小写,删除空格,删除数字?
b)在规范化字符串和用户代理字符串之间构建映射。
当您进行查找时,如果规范化字符串或用户代理字符串不在地图中,则将其传递给人员以添加到具有适当映射的地图。
您可能也希望以某种方式规范用户代理?