我们正在开发内部基于网络的应用程序,用于在智能手机和平板电脑上定位时查看数据报告。我们的客户询问我们是否只有某些设备才能访问该内容。因此,我们使用基于javascript / HTML5的技术,我们无法读取IMEI或设备uuid等唯一ID。另一方面,我们可以使用ASP,PHP等服务器技术获得成功。
我有几个不会导致想要结果的想法(这里讨论的一个:Persistent client-side web storage)。
我想知道您是否有任何想法只允许某些设备访问网站?
答案 0 :(得分:2)
AFAIK您只能使用用户代理,可能会有一些Javascript值,您可以返回指纹识别时使用的值。
用户代理应该给你很多东西,但它很容易被欺骗。 Javascript值也是如此。
我认为没有一种安全的方法可以做你想做的事。但话说回来,我不知道你是否真的希望它安全。
您还可以做的是不要100%基于浏览器,而是创建一个移动应用程序。 (例如在Apple AppStore / Google Play商店中)我认为您可以请求访问更多变量来识别机器类型。
答案 1 :(得分:2)
如果在其上实现传统的登录方法,这种访问控制只会是“安全的”,即用户(1)需要使用用户名和密码登录,但(2)他们只能在特定设备上这样做
步骤(1)需要使访问基本上“安全”,而步骤(2)只会让对于那些几乎不知道他们正在做什么的人来说,闯入你的应用程序有点困难。
(如果没有第二步,人们可以在知道其网址时尝试强制登录表单,而不会嗅探任何其他网络流量。)
您当然可以指纹用户代理(UA)字符串以及可能的其他HTTP标头,假设移动浏览器应用程序未经常更新,因此不会不断更改其UA字符串(这可能很麻烦),并检查服务器双面
您还可以为目标平台创建一个简单,非常简单的原生移动应用程序,仅包含平台的默认Web浏览器小部件,并将您的应用程序的URL内置为默认页面。
然后,您可以控制URL和可能的HTTP标头,并添加特殊的秘密身份验证标头或URL参数(例如设备的IMEI),您可以在服务器端进行检查。
如果您定位Android,则无需依赖Google Play;您还可以从自己的某个服务器分发APK文件,使该应用仅适用于目标受众。
答案 2 :(得分:0)
在此尝试轻量级php-mobile-detect
:(服务器端检查总是更好) https://code.google.com/p/php-mobile-detect/