我可以在我的移动网站上安全地限制桌面用户的访问吗? [复制]

Posted

技术标签:

【中文标题】我可以在我的移动网站上安全地限制桌面用户的访问吗? [复制]【英文标题】:Can I securely restrict access to desktop users on my mobile site? [duplicate] 【发布时间】:2013-06-27 06:38:12 【问题描述】:

使用 twitter bootstrap 和 jquery mobile,我正在构建一个移动网站,并希望仅限制移动/平板电脑用户的访问。

我想过检查屏幕大小然后重定向,但我认为它本身很容易绕过。

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

【问题讨论】:

在此处或在 Google 上搜索 javascript detect mobile users 将为您提供所有您需要知道的信息。请记住,任何基于 JavaScript 的解决方案相对都很容易规避。服务器端检测可能稍微可靠一些。 不知道为什么这是重复的,这个问题专门要求安全地限制访问 【参考方案1】:

没有简单的方法可以做到这一点,因为桌面浏览器和移动浏览器之间没有明显的区别。当然,用户代理和屏幕尺寸很容易被伪造,Chrome 的开发人员工具甚至具有模拟移动浏览器进行测试的特定设置,包括模拟触摸事件和设置设备方向(只需单击右下角的齿轮图标) .

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

如果你这样做,只需使用用户代理,希望没有人关心打扰。

【讨论】:

【参考方案2】:

关于 SO 有几个类似的问题。但是,正如Detecting a mobile browser 中也提到的,在detectmobilebrowsers.com 上发布的脚本是一个很好的资源。

基本上,您从请求中检查 用户代理,如果在您的情况下,它没有将自己标识为移动设备,您会魔法。

当然,使用任何客户端脚本(如 Javascript 或 jQuery)并不是真正的故障安全,您可能已经知道了。通过请求中的标头提供的用户代理可以被欺骗。服务器端脚本可以为您提供额外的健全性检查,但它们甚至还没有接近“无法绕过”。

【讨论】:

以上是关于我可以在我的移动网站上安全地限制桌面用户的访问吗? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

地理位置无法在移动设备上运行,但可以在我的桌面上运行

在桌面/移动网站上发送 Facebook 消息

可以安全地使用 Apache <Location> 指令来配置对服务器的访问吗?

限制 Python 的语法以安全地执行用户代码。这是一种安全的方法吗?

应用弹簧安全 - 这种用法正确吗?

从 html 文件夹中的 HTML5 桌面应用程序访问本地文件