Интернет магазин китайских планшетных компьютеров



Компьютеры - User Agent - Подделка User-agent

02 мая 2011


Оглавление:
1. User Agent
2. Подделка User-agent
3. Примеры значений User Agent
4. Описание некоторых основных значений User Agent
5. Уровни шифрования «U» / «I» / «N»



Причины

Искусственная несовместимость

Использование веб-сайтами строки User-agent для изменения отображения страницы часто приводит к тому, что менее популярные браузеры не получают полного содержимого страницы, даже если они могут корректно его отобразить, а в некоторых радикальных случаях такие браузеры не получают вообще ничего. В связи с этим многие браузеры стали «прятать» или «подделывать» User-agent.

Ранний пример этого — использование браузером Internet Explorer строки User-Agent, начинающейся с «Mozilla/<version> компании Netscape. Такой формат строки User-Agent с тех пор использовался и другими браузерами; в частности, из-за того, что доминировать стал Internet Explorer.

Когда Internet Explorer стал доминирующим браузером, такие конкуренты как Firefox, Safari и Opera встроили системы, позволяющие пользователю выбрать ложное значение User-Agent, такое же, что и у свежих версий Explorer. Некоторые из них копировали значение User-Agent полностью, другие копировали значение User-Agent, добавляя истинное имя браузера в конце, что позже привело к тому, что строка содержит три имени и версии: первое зовётся как «Mozilla»; далее «MSIE»; и последнее, действительный браузер, такой как «Opera». Opera также позволяет полностью спрятаться под Internet Explorer или Firefox, полностью скрывая имя «Opera».

В случае Safari строка User-Agent содержит 5 имен, «KHTML, like Gecko» и Safari. Таким образом, если сайт делает проверку на практически любой современный браузер — Safari ее пройдет. Другие браузеры на движке WebKit работают аналогично.

Кроме браузеров, другие программы, использующие протокол HTTP, к примеру менеджеры закачек и оффлайновые браузеры, также имеют возможность изменять значение User-Agent, посылаемое серверу, по желанию пользователя. Это сделано, наверное, для обеспечения совместимости с определёнными серверами.

Подобная проблема продолжает существовать в мире браузеров, и поэтому начата кампания, способствующая тому, чтобы разработчики сайтов проектировали сайты в соответствии со стандартами, а не для какого-то любого определённого браузера.

Так, многие веб-сайты, созданные в 2005 году, лучше соответствуют стандартам, чем это было ранее в истории Web. Однако, на некоторых сайтах всё ещё используются устаревшие скрипты JavaScript, в сущности, блокирующие работу других браузеров, помимо Internet Explorer или Netscape Navigator. Причина этого часто заключается в бездумном копировании старого кода, взятого с других сайтов, без полного понимания того, какой эффект этот код будет в действительности иметь.

Последствия

Одним из результатов подделки значения User-Agent является переоценка популярности соответствующего браузера в статистике и недооценка популярности других браузеров и, как следствие, отсутствие у разработчиков вышеописанных сайтов стимула к исправлению проблем совместимости.

Подделка значения User-Agent также может привести к угрозе безопасности при подделывании поискового робота и обходе ключевых частей веб-сайта.



Просмотров: 6795


<<<