2
A
回答
3
您可以使用下一个变量:
$_SERVER['HTTP_USER_AGENT']
是:
这表示该用户代理的被访问 页面
您可以将字符串使用这样的:
if(strstr($_SERVER['HTTP_USER_AGENT'],'Android')) //Android
{
}
elseif(strstr($_SERVER['HTTP_USER_AGENT'],'iPhone')) //iphone
{
}
else
{
}
0
我的一对夫妇的项目中使用this。它可能太臃肿,不适合您的需求,但您可以排除不需要的浏览器检测功能。
除了检测浏览器,它也检测版本。
1
如果您使用的是手机附带的“开箱即用”的浏览器则是不可能是为了唯一识别您的设备仅基于用户代理字符串。
一个User-Agent string仅标识类型,版本,以及您所使用的浏览器的详细信息。由于成千上万或数百万人可能正在使用这个完全相同的浏览器,因此它不是唯一的,因此对于安全授权令牌来说,这是一个非常糟糕的选择。
例如,对于三星Galaxy S3用户代理字符串是:
的Mozilla/5.0(Linux的; U;的Android 4.0.4;烯GB; GT-I9300构建/ IMM76D) 为AppleWebKit/534.30(KHTML,例如Gecko)版本/ 4.0移动Safari浏览器 /534.30
这说明浏览器的构建信息和兼容性,但独特之处在于它是安装在数千或数百万的设备的构建。
因为用户代理字符串没有真正独特的地方,我建议不要使用它来提供任何级别的安全性。至少我建议实施HTTP基本认证。请确保在使用HTTP基本认证时启用SSL,因为您的用户名和密码是以HTTP编码方式发送的,但未加密且易于被拦截。
如果您要保护的网站需要真正的安全保证,我建议您不要尝试“推出自己的”认证计划,除非您是安全专家。我建议使用安全框架,如OWASP's ESAPI或另一个经过良好测试的框架。在构建身份验证系统时,有很多方法会导致错误,所以最好使用在部署到生产环境中之前已经过全面测试的方法。
相关问题
- 1. 抓取详情
- 2. Android移动用户代理?
- 3. 用户代理移动不工作
- 4. urllib2的移动用户代理
- 5. jQuery移动用户代理检测
- 6. 强制用户代理不移动
- 7. 智能屏幕抓取使用不同的代理和用户代理随机?
- 8. cytoscape.js禁用抓取和移动节点
- 9. 使用Ruby屏幕抓取和代理
- 10. 识别来自用户代理的抓取程序
- 11. 在钩子中抓取订单详情woocommerce_checkout_order_processed
- 12. PC和移动网站代码中使用的用户代理
- 13. 是否可以为移动用户代理定义替代get_absolute_url?
- 14. 自定义TableViewCell移动抓取器
- 15. 抓取时我无法移动页面
- 16. 从Java网站抓取代理?
- 17. 抓取出现多次的客户的详细信息
- 18. 抓取YouTube用户信息
- 19. 抓取用户输入
- 20. PHP用户代理确定用于移动和片剂
- 21. 伪造移动应用程序的用户代理
- 22. 移动应用程序htaccess文件的用户代理
- 23. Robots.txt - 多个用户代理的抓取延迟的正确格式是什么?
- 24. Scrapy - 抓取并随机更改用户代理时访问数据
- 25. 在台式机上为iframe设置移动用户代理
- 26. 查看自定义用户代理网站的移动版本
- 27. IIS 7上的移动用户代理Windows 2008 R2失败
- 28. 重定向URL到移动当用户代理检测
- 29. 移动正则表达式用户代理
- 30. 正则表达式:与非Android移动用户代理匹配