我注意到Safari根据php中会话的状态提供了不同的用户代理。与服务器的第一个连接提供了如下的用户代理字符串:
MobileSafari / 9537.53 CFNetwork / 672.1.13达尔文/14.0.0
但是,一旦会话开始,以后的任何连接都会给出:
Mozilla / 5.0(iPad; CPU OS 7_1,例如Mac OS X)AppleWebKit / 537.51.2(KHTML,例如Gecko)_版本/7.0移动设备/ 11D167 Safari / 9537.53
到底是怎么回事?我正在将用户代理的哈希存储在会话包装器中,以试图限制帐户遭到破坏的损害。这是否意味着我将不得不取消该支票?
(我仅在iOS7和PHP上对此进行了测试)
最佳答案
MobileSafari/9537.53 CFNetwork/672.1.13 Darwin/14.0.0
CFNetwork用户代理只是移动浏览器的爬网程序。这将检索收藏夹或触摸图标。 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用户代理字符串。