【问题标题】:$_SERVER['HTTP_USER_AGENT'] changing on Safari (iOS)$_SERVER['HTTP_USER_AGENT'] 在 Safari (iOS) 上更改
【发布时间】:2014-06-28 08:02:04
【问题描述】:
我注意到 Safari 会根据 php.ini 中会话的状态提供不同的用户代理。与服务器的第一个连接提供了一个用户代理字符串,如下所示:
MobileSafari/9537.53 CFNetwork/672.1.13 Darwin/14.0.0
但是一旦会话开始,任何以后的连接都会给出:
Mozilla/5.0(iPad;CPU OS 7_1,如 Mac OS X)AppleWebKit/537.51.2(KHTML,如 Gecko)_Version/7.0 Mobile/11D167 Safari/9537.53
发生了什么事? 我将用户代理的哈希存储在我的会话包装器中,以试图限制来自被盗帐户的损害。这是否意味着我将不得不取消那张支票?
(我只在 iOS7 和 PHP 上测试过)
【问题讨论】:
标签:
ios
safari
user-agent
【解决方案1】:
MobileSafari/9537.53 CFNetwork/672.1.13 Darwin/14.0.0
CFNetwork 用户代理只是移动 safari 的爬虫进程。这将检索收藏或触摸图标。 CFNetwork 请求取决于 iOS 或 Mac OS X 版本,第一个令牌仅标识 APP。如果您想了解更多关于版本的信息,这里是 iOS 和 Mac OS X CFNetwork 版本的一个很好的概述:http://user-agents.me/cfnetwork-version-list
所有其他请求都使用此用户代理字符串:
Mozilla/5.0 (iPad; CPU OS 7_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko)_Version/7.0 Mobile/11D167 Safari/9537.53
如果您查看服务器日志,您会发现,每个 .css、.html、.php、.jpg ... 请求都使用 Mozilla 用户代理字符串。
根据您的问题:忽略检查中的 CFNetwork 用户代理字符串。