【发布时间】:2011-07-15 16:17:11
【问题描述】:
就像你可以去http://whatsmyuseragent.com/ 网站看看你来自哪个用户代理。我需要在我的网站上使用类似的功能。我试图查看源代码,但什么也没找到。我基本上期待 html 代码来找到我网站上的人的用户代理,我现在只是在调试。我希望将编码放在我的主页上,以便我可以确认用户来自哪个设备。谁能帮我解决这个问题?
【问题讨论】:
就像你可以去http://whatsmyuseragent.com/ 网站看看你来自哪个用户代理。我需要在我的网站上使用类似的功能。我试图查看源代码,但什么也没找到。我基本上期待 html 代码来找到我网站上的人的用户代理,我现在只是在调试。我希望将编码放在我的主页上,以便我可以确认用户来自哪个设备。谁能帮我解决这个问题?
【问题讨论】:
HTML 不是一种编程语言。它无法获取这些信息。
正确的方法是使用您偏好的服务器端语言(和可选的 Web 框架)(例如在 Perl/Catalyst 中)读取 User-Agent HTTP header,然后将其输出到页面(在将其清理为 HTML 之后)安全)。
客户端 JavaScript 也可以通过 navigator 对象获得类似的数据。
【讨论】:
用户代理可以是用户想要的任何东西——所以不要依赖它来保证安全。
从客户端,您可以在 HTML 中使用一些 JavaScript:
<script language="javascript">
document.write(navigator.userAgent);
</script>
我不建议使用document.write。
对于上述网站,他们可能会使用 HTTP 标头检查服务器端。要在 PHP 中获取它,您可以使用:
$ua = $_SERVER['HTTP_USER_AGENT'];
但正如 Quentin 所说,清理它,因为它可以输出用户喜欢的任何内容。
【讨论】: