ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ИНФО > Статьи > Авторские статьи
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Определяем движок браузера
  #1  
Старый 19.11.2007, 16:30
Goudini
Участник форума
Регистрация: 07.06.2006
Сообщений: 146
Провел на форуме:
1652093

Репутация: 490
Отправить сообщение для Goudini с помощью ICQ
По умолчанию Определяем движок браузера

Я хочу вкратце рассмотреть нестандартные методы определения браузера.

"The User-Agent request-header field contains information about the user agent originating the request. This is for statistical purposes, the tracing of protocol violations, and automated recognition of user agents for the sake of tailoring responses to avoid particular user agent limitations" (с) rfc2616

Самым простым способом было бы использовать User-Agent из HTTP запроса чтобы определить тип браузера и ОС. Но это поле не всегда содержит правильную информацию. Его легко сменить с помощью плагинов, прокси-серверов.. Мы не будем рассматриват этот метод.

Посмотрим какие заголовки посылают разные браузеры.

Opera:
Код:
GET / HTTP/1.1
User-Agent: Opera/9.24 (Windows NT 5.1; U; ru) 
Host: localhost 
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 
Accept-Language: uk-UA,uk;q=0.9,en;q=0.8 
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1 
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0 
Connection: Keep-Alive

IE:
Код:
GET / HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */* 
Accept-Language: uk 
Accept-Encoding: gzip, deflate 
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727) 
Host: localhost 
Connection: Keep-Alive

Firefox:
Код:
GET / HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive

В первой строке указывается метод, путь на сервере и версия протокола. Вторая строка различается. Таким образом по второму заголовку можно определять движок браузера - Opera, Inernet Explorer, Firefox/Epiphany :

PHP код:
<?php
function detect_browser()
{
    
$headers array_keys(apache_request_headers());
    if (
$headers[0] == 'User-Agent')  $browser 'Opera';
    elseif (
$headers[0] == 'Accept'$browser 'Internet Explorer';
    elseif (
$headers[0] == 'Host')    $browser 'Mozilla';
    else 
$browser 'Unknown';
    
    return 
$browser;
}
echo 
detect_browser();
?>
Скрипт будет работать только в том случае, если PHP работает в качестве модуля Apache, из-за использования функции apache_request_headers()

Различе запросов как раз и позволяет выяснить, какой софт используется на клинтской стороне. К примеру, Opera, посылает свойственный только ей заголовок Cookie2.

Код:
Cookie: PHPSESSID=cedc117198a362150e7aa27ad4d6c9dc
Cookie2: $Version=1
Скрипт определения будет выглядеть таким образом:

PHP код:
<?php 
setcookie
("foo""bar");
if (isset(
$_SERVER['HTTP_COOKIE2'])) $browser 'Opera';
echo 
$browser;
?>
[+] Reference:
www.php.net
www.net-square.com/whitepapers/browser_ident.pdf
www.w3.org/Protocols/rfc2616/rfc2616.html
 
Ответить с цитированием

  #2  
Старый 19.11.2007, 19:04
Zedobat
Участник форума
Регистрация: 24.07.2007
Сообщений: 175
Провел на форуме:
1092179

Репутация: 102
По умолчанию

Какой у меня браузер?
Цитата:
GET /cgi-bin/params.pl HTTP/1.1
Host: old.antichat.ru
Напиши лучше как через JS определить, тк или не трогаю заголовки вообще или меняют их по полной программе.
 
Ответить с цитированием

  #3  
Старый 19.11.2007, 19:20
gemaglabin
Banned
Регистрация: 01.08.2006
Сообщений: 725
Провел на форуме:
7681825

Репутация: 4451


По умолчанию

get_headers выдает заголовки независимо от серверного по , а как это дело обстоит с js - https://forum.antichat.ru/thread32325.html . На практике показало что такое "точное" определение путем игры с заголовками никчему не привело.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вышла альфа-версия браузера Firefox 3.0 KoTeG Мировые новости 2 11.12.2006 16:48
Firefox 2.0 (маленький обзор нового браузера ) Серый Soft - Windows 16 23.11.2006 18:37
Вышла обновлённая версия браузера Opera dinar_007 Мировые новости 2 21.02.2006 22:07
Какой движок у форума http://www.virtualdj.com ? ProTeuS Форумы 2 18.07.2005 03:54
Что это за движок? azeri_hacker Болталка 10 11.07.2005 18:43



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ