7. Прочие параметры
• Возможность вибрации
• Акселерометр
• Поддержка multi-touch
• Работа с медиа
• Поддержка геймпада/bluetooth/usb
• Возможность интеграции стороннего поиска
• Поддержка уведомлений
Куча их
10. WebGL
• Поддержка технологий
• Тип рендера
• Глубина цвета
• Параметры шейдеров
• Максимальные текстуры
• Размер буфера
• webgl_debug_renderer_info
15. HSTS
• Специальный заголовок, в котором браузер
запоминает, что заходить на этот ресурс нужно
только по https
• Делается это передачей специального заголовка
сайту - Strict-Transport-Security
• Strict-Transport-Security ставится на время, которое
указано в заголовке
16. Пользователь Вася – посетитель сайта.
Он уже зашел в наше веб-приложение, у него есть
идентификатор сессии.
Этот идентификатор можно дополнительно
«прошить» в браузере
18. Устанавливаем ключ
В это время браузер сам запрашивает favicon,
ответ которого перенаправляет на поддомены, с
каждым запросом убирая по одному байту
ключа.
19. Устанавливаем ключ
При посещении каждого из поддоменов
устанавливается заголовок HSTS
Strict-Transport-Security: max-age=300 (5 минут)
20. Если пользователь посещает сайт в инкогнито
Логика простая
• Если пользователь посещает домен hsts.pro его
перенаправляет на поддомен без https [0-f].hsts.pro
• Если пользователь заходит по https, к поддомену
добавляется новая буква.
27. Бот или не бот?
• Классическая JS нагрузка
• Использование SSL библиотеки и ее настроек для
установки SSL соединения*
• Используемая версия протокола HTTP
28. Бот или не бот?
• Порядок заголовков и вообще какие заголовки есть*
• Особенности разбора html в браузерах**
**(например <svg><script xlink:href="data:,alert(1)"/></svg> -
выполнится в firefox, а в других браузерах – нет)