Подтвердить что ты не робот

Различать веб-браузер iPhone и пользовательский агент iPhone app

Каков наилучший способ отличить сервер от запроса, поступающего с iPhone через веб-браузер, через iphone с приложением, написанным в объекте c? Какие различия я ищу в строке пользовательского агента?

4b9b3361

Ответ 1

Я считаю, что пользовательские агенты из приложения Safari начинаются с "Mozilla", а пользовательские агенты из приложений начинаются с имени приложения.

Ответ 2

Кажется, что приложения iPhone, использующие компонент HTTP-запроса UIWebKit, имеют строку агента пользователя, подобную следующей

Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0_1 like Mac OS X; fr-fr) AppleWebKit/532.9 (KHTML, like Gecko) Mobile/8A306
Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_2 like Mac OS X; fr-fr) AppleWebKit/528.18 (KHTML, like Gecko) Mobile/7D11
Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_3 like Mac OS X; fr-fr) AppleWebKit/528.18 (KHTML, like Gecko) Mobile/7E18

В то время как Safari на iPhone имеет в основном ту же строку, но заканчивается на "Safari/XXX"

Тем не менее, также возможно изменить пользовательский агент UIWebKit, тогда нет никакой гарантии, что вы будете получать все приложения для iPhone, действуя таким образом.

Ответ 3

Действительно, пользовательский агент будет другим.

в PHP, вы можете узнать это: $_SERVER ['HTTP_USER_AGENT']