2011-09-09 4 views
8

Я хотел бы узнать, есть ли способ узнать, поддерживает ли браузер HTTP-запрос SNI, кроме проверки агента пользователя и угадывания.Обнаружение поддержки SNI для браузера

Я бы рассмотрел варианты сервера или клиента.

Что я хотел бы сделать, это настроить SSL-сертификаты для нескольких доменов, указывающих на одно и то же приложение PHP. Затем я попытаюсь выяснить, поддерживает ли клиент запрос SNI, и если да, перенаправите его в версию с поддержкой SSL.

ответ

5

Во-первых, мы знаем, что браузеры, которые в настоящее время поддерживают SNI:

Opera 8.0; MSIE 7.0 (но только для Windows Vista или выше); Firefox 2.0 и другие браузеры, использующие платформу Mozilla rv: 1.8.1; Safari 3.2.1 (версия для Windows поддерживает SNI на Vista или выше); Chrome (версия для Windows поддерживает SNI на Vista или выше).

так дешевый способ определить браузер, и если он один из вышеперечисленных, он имеет SNI.

Хотя это не лучшая практика (предпочтительнее функция обнаружения функций), там нет способа избежать этого, поскольку для обнаружения SNI требуется SSL-квитирование. Таким образом, слишком поздно что-то сделать после сбоя вашего SSL-сертификата.

Смежные вопросы