在Safari(iOS)上更改$ _SERVER [' HTTP_USER_AGENT']

时间:2014-06-28 08:02:04

标签: ios safari user-agent

我注意到Safari提供了不同的用户代理,具体取决于php中会话的状态。与服务器的第一个连接提供了如下的用户代理字符串:

  

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上测试过这个)

1 个答案:

答案 0 :(得分:1)

MobileSafari/9537.53 CFNetwork/672.1.13 Darwin/14.0.0

CFNetwork用户代理只是移动版Safari的爬虫程序。这将检索fav或触摸图标。 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用户代理字符串。