关于javascript:我可以安全地限制访问移动网站上的桌面用户吗?

Can I securely restrict access to desktop users on my mobile site?

本问题已经有最佳答案,请猛点这里访问。

使用Twitter引导程序和jquery Mobile,我正在构建一个移动网站,并希望仅限移动/平板电脑用户访问。

我想先检查屏幕大小,然后再重新定向,但我认为自己很容易绕过。

有什么方法可以安全地实现这一点吗?


要做到这一点并不容易,因为桌面浏览器和移动浏览器之间没有任何有意义的区别。当然,用户代理和屏幕大小很容易被伪造,而Chrome的开发工具甚至具有模拟移动浏览器进行测试的特定设置,包括模拟触摸事件和设置设备方向(只需单击右下角的齿轮图标)。

不要强制执行,因为你会犯错误,有人会感到沮丧。

如果你这样做了,只需使用用户代理,希望没有人关心足够的麻烦。


有几个类似的问题。但是,正如在检测移动浏览器中提到的,在detectmobilebrowsers.com上发布的脚本是一个很好的资源。

基本上,您从请求中检查用户代理,如果在您的情况下,它不将自己标识为移动设备,您会变魔术吗?

当然,使用任何客户端脚本(如javascript或jquery)并不是真正的故障保护,正如您可能已经发现的那样。通过请求中的头提供的用户代理可以被欺骗。服务器端脚本可以为您提供额外的健全性检查,但它们甚至不接近"无法绕过"。