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