Показать сообщение отдельно
Старый 06.05.2009, 14:46   #37
Boulevard
Guest
 
Сообщений: n/a
По умолчанию

По поводу определения языка.
Чтобы произвести полноценную проверку, надо учитывать, конечно, такие заголовки как
Код:
Accept-Language
Accept-Encoding 
Accept-Charset
User-Agent
Так же для JavaScript значения
Код:
window.naviagtor["language"]
window.navigator["browserLanguage"]
window.navigator["userLanguage"]
window.navigator["systemLanguage"]
Плюсом также язык полученный через Flash, например, и т.п.

Тут надо довольно тщательному анализу все собранные данные подвергнуть,
причем для Италии, например, ведь может быть it-IT, fr-IT или de-IT...
И в каком случае тогда match/mismatch? Конечно, все это можно реализовать, но действительно ли в этом есть такая необходимость?

Теперь по поводу определения операционной системы.
Можно еще, конечно, добавить определение ОС на основе TCP/IP fingerprinting. :) В любом случае опять же требуется обобщенный анализ данных. Заголовки, JavaScript, Java, Flash,..

Тут, конечно, важным фактором является браузер... Тут уж скрывай, не скрывай. Просто возьмите и сравните HTTP заголовки от IE, Opera, Firefox, Safari и Google Chrome. Потом в секции "Scripts" Screen и Navigator... Ладно, заголовки можно "привести в порядок", но движок JavaScript вас сдаст с потрохами. Какие-нибудь трюки для определения IE типа:
Код:
var IE='\v'=='v';
if(IE) { }
или
Код:
<!--[if lt IE 7.]>
<![endif]-->
или использование доступных только в IE функций:
Код:
ScriptEngine() 
ScriptEngineMajorVersion() 
ScriptEngineMinorVersion() 
ScriptEngineBuildVersion()
И это только малая часть, таких различных "трюков" тьма в зависимости от браузера. Что уж говорить об ActiveX вместо NPAPI. Конечно, если вы уж так хотите замаскировать свой Firefox под IE, то это возможно...

Есть и ActiveX для Firefox hxxp://code.google.com/p/ff-activex-host/
И "User Agent Switcher" вам userAgent для JavaScript такой же поставит как для заголовка User-Agent.
И добавить/удалить функции и методы в JavaScript можно...
Только учесть еще надо и обработку CSS и очень много чего еще.
В итоге как говорится "игра не стоит свеч, а результат труда".

Я, конечно, сомневаюсь, что системы антифрода могут дойти до таких крайностей, но суть в том, что если серьезно работать, то лучше поставить нужную версию браузера и операционной системы, чем "надевать ласты, черные очки и шапку ушанку", которые все равно не помогут. :)

А proxomitron - костыль какой-то, честно говоря, причем вроде довольно староватый, он вас не спасет. :)

Забавно, в русской версии wikipedia по User-Agent написано гораздо больше, чем в версии на английском языке...

В общем, я не особо компетентен, конечно, по вопросам описанным выше, так что, пожалуйста, отпишите где возможные ошибки и заблуждения... И как сделать так, чтобы все были счастливы. :)

Последний раз редактировалось Boulevard; 06.05.2009 в 14:49.
  Ответить с цитированием