使用 twitter bootstrap 和 jquery mobile,我正在构建一个移动站点,并希望仅限制对移动/平板电脑用户的访问。
我想过检查屏幕大小然后重定向,但我认为这本身很容易绕过。
有什么方法可以安全地实现这一目标吗?
使用 twitter bootstrap 和 jquery mobile,我正在构建一个移动站点,并希望仅限制对移动/平板电脑用户的访问。
我想过检查屏幕大小然后重定向,但我认为这本身很容易绕过。
有什么方法可以安全地实现这一目标吗?
没有简单的方法可以做到这一点,因为桌面浏览器和移动浏览器之间没有有意义的区别。当然,用户代理和屏幕尺寸很容易被伪造,Chrome 的开发人员工具甚至具有模拟移动浏览器进行测试的特定设置,包括模拟触摸事件和设置设备方向(只需单击右下角的齿轮图标) .
不要强制执行此操作,因为您会犯错,有人会感到沮丧。
如果你这样做,只需使用用户代理,并希望没有人关心打扰。
SO上有几个类似的问题。但是,正如Detecting a mobile browser中也提到的,一个很好的资源是发布在detectmobilebrowsers.com上的脚本。
基本上,您从请求中检查用户代理,如果在您的情况下,它没有将自己标识为移动设备,您会魔法。
当然,使用任何客户端脚本(如 Javascript 或 jQuery)并不是真正的故障安全,正如您可能已经发现的那样。通过请求中的标头提供的用户代理可以被欺骗。服务器端脚本可以为您提供额外的健全性检查,但它们甚至还没有接近“无法绕过”。