我有一个网页,当从iOS设备查看时,显示略有不同的内容.为了检测有问题的网站查找该设备iPad;,iPod;或iPhone;在用户代理字符串.
这适用于所有iOS设备上的Safari.使用Chrome for iOS进行测试适用于iPhone和iPad 1,但不适用于iPad 3.该网站获得以下(意外)用户代理字符串:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.53.11 (KHTML, like Gecko) Version/5.1.3 Safari/534.53.10
Run Code Online (Sandbox Code Playgroud)
这似乎与Chrome菜单中的"请求桌面网站"选项有关(桌面镶边中的扳手图标是什么).对于我的网站,它已被禁用,似乎被锁定在桌面而不是移动网站上.对于其他站点,它已启用并导致在选择时发送不同的用户代理字符串.例如:尝试http://ifconfig.me/all
所以我的问题是:
如果你想自己测试一下,这里只有一个页面反映了用户代理字符串.
我有一个我正在开发的网站,它也将被纳入网络应用程序.我的.htaccess文件中有以下代码,以防止来自任何不在我允许的IP上的任何人的访问:
Order deny,allow
Deny from all
AuthName "Restricted Area - Authorization Required"
AuthUserFile /home/content/html/.htpasswd
AuthType Basic
Require valid-user
Allow from 12.34.567.89
Satisfy Any
Run Code Online (Sandbox Code Playgroud)
问题:我想添加一条Allow from规则,该规则也允许特定的HTTP用户代理访问该站点.
如果不是用户代理,我发现此代码重定向:
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !=myuseragent
RewriteRule ^files/.*$ / [R=302,L]
Run Code Online (Sandbox Code Playgroud)
但我似乎无法弄清楚如何将其变成Allow from规则.救命?
UPDATE
我发现下面的代码阻止了特定的用户代理......我想说"如果不是myuseragent,那就阻止".
<IfModule mod_rewrite.c>
SetEnvIfNoCase ^User-Agent$ .*(libwww-perl|aesop_com_spiderman) HTTP_SAFE_BADBOT
Deny from env=HTTP_SAFE_BADBOT
</ifModule>
Run Code Online (Sandbox Code Playgroud) 此页面表明它使用自定义用户代理,但未提及名称.如果用户代理来自PageSpeed,我希望能够运行一些逻辑.Google PageSpeed用户代理的名称是什么?
根据UserAgentString.com我的用户代理字符串:Mozilla/5.0(Windows NT 6.1; WOW64; Trident/7.0; rv:11.0),如Gecko
这是否意味着我将IE 11与IE 7用户代理一起使用?UserAgentString.com统计信息"Trident"是Internet Explorer的布局引擎.
在服务器上区分来自iPhone的请求是通过网络浏览器与通过iphone与用目标c编写的应用程序之间的最佳方法是什么?我在用户代理字符串中寻找什么差异?
我正在使用JQuery向我自己的Web服务发出一个AJAX-Request.我需要User-Agent为HTTP-AJAX-Request 设置或修改HTTP-Header,我怎样才能以最简单的方式做到这一点?
我尝试了一些用户提供的提示使用setRequestHeaderMethod来设置User-Agent,但这不起作用.它确实适用于其他新创建的标题(如X-Test-Header),但它不起作用User-Agent.
谢谢!
这是我的用户代理
Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31
Run Code Online (Sandbox Code Playgroud)
我知道我正在使用chrome,所以据我所知它是来自chrome 26版.但其余的信息是什么?
我该怎么读字符串.我可以从userAgent收集什么?
解析userAgent并读取其中的每个属性的最佳方法是什么?
我正在学习OAuth 2.0,无法在隐式授权流程中获得保护访问令牌的方法.规范中有一些论文和一些看起来相互矛盾的SO答案.有人可以清理一下吗?来自SO答案和规范的引言令我感到困惑:
我的问题:
P1表示通过重定向URI和P2传递给客户端的令牌表示传递通道必须是TLS编辑的.但是P3说哈希片段没有发送到网络.如果访问令牌没有发送,那么它是如何到达客户端的,因为它是哈希片段?无论如何,它必须通过网络发送不是吗?或者使用重定向URI发送令牌可以在没有网络交易的情
唯一可能的解释 - 在引擎盖下浏览器仅通过网络发送url的非哈希部分,并且在加载新页面之后,只需插入哈希片段并使其可用于JS.如果我是对的,我仍然无法理解为什么我们不使用可靠,安全的HTTPS通道作为响应参数发送令牌?
iPadOS beta上的Safari用户代理与macOS上的Safari完全相同。还有其他从Mac告诉iPad的方法吗?
iPad running iOS
Mozilla/5.0 (iPad; CPU OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.0 Mobile/14G60 Safari/602.1
iPadOS, developer beta 1
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0 Safari/605.1.15
iPadOS, beta 2, simulator
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0 Safari/605.1.15
iPadOS, beta 3, (simulator)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0 Safari/605.1.15
iPadOS, developer beta 3
Mozilla/5.0 (Macintosh; Intel Mac …Run Code Online (Sandbox Code Playgroud) user-agent ×10
.htaccess ×1
ajax ×1
browser ×1
http ×1
http-headers ×1
ios ×1
ipados ×1
iphone ×1
java ×1
jquery ×1
macos ×1
oauth ×1
oauth-2.0 ×1
python ×1
safari ×1
scrapy ×1
web-crawler ×1
web-scraping ×1