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

Пользовательский агент для браузера Safari на iOS 7

Я хочу открыть свой сайт только в iPhone и iPod с браузером Safari. Для любого другого браузера, такого как Chrome, Dolphin и т.д., Он не должен открываться.

Но в настоящее время я получаю один и тот же пользовательский агент практически со всех устройств:

Для Safari:

User Agent String :: mozilla/5.0 (iphone; cpu iphone os 7_0_2 like mac os x) applewebkit/537.51.1 (khtml, like gecko) version/7.0 mobile/11a501 safari/9537.53

Для Chrome:

User Agent String :: mozilla/5.0 (iphone; cpu iphone os 7_0_2 like mac os x) applewebkit/537.51.1 (khtml, like gecko) crios/30.0.1599.16 mobile/11a501 safari/8536.25

Для браузера Mercury:

User Agent String :: mozilla/5.0 (iphone; cpu iphone os 6_0_1 like mac os x) applewebkit/536.26 (khtml, like gecko) mercury/7.4.2 mobile/10a523 safari/8536.25

Для браузера Dolphin:

User Agent String :: mozilla/5.0 (iphone; cpu iphone os 7_0_2 like mac os x) applewebkit/537.51.1 (khtml, like gecko) version/6.0 mobile/10a523 safari/8536.25

С Chrome я вижу, проверяя строку crios и Mercury by mercury, но как насчет других браузеров, которые, похоже, имеют тот же пользовательский агент, что и Safari?

4b9b3361

Ответ 1

Ответ не является строгим. В iOS Apple блокирует любые конкурирующие браузеры, включая собственно механизм рендеринга; все должны использовать стандартный веб-просмотр.

Таким образом, все сторонние браузеры (с такими функциями, как синхронизация избранных и т.д.) - это просто обертки вокруг веб-браузера Safari, которые фактически отображают страницу, поэтому все они имеют строку пользовательского агента Safari.

Ответ 2

Браузеры делают это очень преднамеренно, чтобы люди не делали то, что вы пытаетесь сделать. Их разработчики считают, что, поскольку они используют один и тот же веб-движок (WebKit, blink или gecko), как и другие, они будут явно отображать страницы, оптимизированные для похожих браузеров, просто отлично (что вполне вероятно).

Так что, скорее всего, нет способа рассказать.

Ответ 3

Решает для ртути, оперы, хрома n firefox, но не дельфина

(
  (/(iPad|iPhone|iPod)/gi).test(userAgent) &&
  !(/CriOS/).test(userAgent) &&
  !(/FxiOS/).test(userAgent) &&
  !(/OPiOS/).test(userAgent) &&
  !(/mercury/).test(userAgent)
)