Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.08.07;
Скачать: [xml.tar.bz2];

Вниз

Как грамотно на PHP узнать какой браузер у клиента?   Найти похожие ветки 

 
vidiv   (2003-07-20 13:39) [0]

Собственно subject. Заранее спасибо!


 
ZZ   (2003-07-20 13:45) [1]

$_SERVER["HTTP_USER_AGENT"] + get_browser и отличай наздоровье..
ЗЫ. А почему вопрос задал именно тут? Ведь есть же http://www.phpclub.net и др.


 
McSimm   (2003-07-20 13:55) [2]

get_browser(), но надо позаботиться о качественном browscap.ini



 
vidiv   (2003-07-20 14:04) [3]

У меня такая ошибка вылазиет:
Warning: get_browser(): browscap ini directive not set. in c:\procs\1csite\index.html on line 20


 
McSimm   (2003-07-20 14:13) [4]

В php.ini

В секции [browscap]

указать путь к файлу

browscap = pathto/browscap.ini


 
vidiv   (2003-07-20 14:20) [5]


> McSimm © (20.07.03 14:13)

Преогромнейшее спасибо!, но только я не понял как им пользоваться:/


 
SergP   (2003-07-20 14:25) [6]

А вот меня интересует вопрос как обмануть такие умные PHP скрипты, которые определяют какой у тебя браузер?


 
McSimm   (2003-07-20 14:28) [7]

Взять свежий browscap.ini.
Рекомендую http://www.garykeith.com/

Поправить php.ini
Перезапустить сервер.

Использовать в скрипте get_browser().
Возвращается объект, поля объекта - характеристики броузера. Например:

$browser = get_browser();
switch ($browser->browser) {
case "Opera":
$requestmode = ($browser->version < 7) || !$browser->javascript;
break;
case "IE":
$requestmode = ($browser->version < 5) || !$browser->javascript;
break;
default: $requestmode = true;
}


Список возможных параметров и их значений проще всего смотреть непосредственно в browscap.ini.


 
McSimm   (2003-07-20 14:35) [8]

>SergP © (20.07.03 14:25)

>А вот меня интересует вопрос как обмануть такие умные PHP скрипты, которые определяют какой у тебя браузер?


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

Чтобы "обмануть" достаточно убрать или заменить в запросе браузера параметр USER_AGENT. Это умеют делать некоторые программки вроде proxy-серверов или ускорители интернета.


 
SergP   (2003-07-20 14:48) [9]


> Чаще всего это не принесет вам выгоды, хорошие скрипты и
> правильное определение и возможностей браузера со стороны
> сервера могут значительно улучшить качество сайта.
>
> Чтобы "обмануть" достаточно убрать или заменить в запросе
> браузера параметр USER_AGENT. Это умеют делать некоторые
> программки вроде proxy-серверов или ускорители интернета.


А вообще-то мне нужно кроме того чтобы обмануть сервер насчет браузера, еще и обмануть его по другим таким "нехорошим" параметрам, как предпочитаемый язык и пр. Типа чтобы не перенастраивать винду, но чтобы сервер думал что я например - настоящий америкос. если использовать TWebbrowser, то можно как-нить это сделать?


 
VictorT   (2003-07-20 15:00) [10]

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


 
McSimm   (2003-07-20 15:10) [11]

>VictorT © (20.07.03 15:00)
Не согласен. Почему я не должен использовать возможности хороших броузеров, сделав вариант для не очень. Это отличная возможность.

А любители подделываться должны сами для себя определить цели, для чего им это надо.
Если броузер сообщает серверу, что я крутой IE и хорошо работаю с JS и CSS2, но при этом это полная, извеняюсь, брехня, то чья тут вина?

Опера умеет подделываться, но лучше бы она умела нормально работать :)


 
Neox   (2003-07-20 17:27) [12]

А если, допустим, на сервере нет browscap.ini, то возможно ли какими-нибудь другими средствами РНР определить поддерживает ли браузер кукисы, стилевые листы, java и т.п.?


 
McSimm   (2003-07-21 12:14) [13]

Чтобы ответить на этот вопрос, достаточно посмотреть файл browscap.ini. В нем просто ведется список известных браузеров и их возможностей, отправной точкой для get_browser() является значение USER_AGENT, получаемое вместе с запросом.
Можно поступать аналогично.


 
NickBat   (2003-07-21 12:19) [14]

McSimm © (20.07.03 15:10)
Опера умеет подделываться, но лучше бы она умела нормально работать :)

Зачем так Оперу обижаешь? :))) Интересно на каком сайте последняя Опера не нормально работает? :))




 
vidiv   (2003-07-23 10:46) [15]

NickBat © (21.07.03 12:19)
на моем!!!. или я не знаю как, или она не поддержиывает фильтры например. Ни один из браузерв не поддержывает нормально картинки Png, ... примеров много


 
NickBat   (2003-07-23 11:20) [16]

а можно ссылочку?


 
McSimm   (2003-07-23 11:39) [17]

Ветка перешла в оффтопик и личную переписку.

Поймите, правила придуманы не для развлечения. Мне, например, интересна тема поднятого вопроса, а я вынужден читать ваши разборки по поводу Оперы.



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2003.08.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.007 c
1-20572
yozch_
2003-07-23 21:50
2003.08.07
String-> float с DecimalSeparator


1-20626
Zhuchok
2003-07-25 01:52
2003.08.07
IniFiles


3-20403
me2
2003-07-16 13:05
2003.08.07
IB выдает такую вот ошибку


1-20618
Pauk
2003-07-24 13:23
2003.08.07
Combobox и размещение DropedDown-списка


14-20803
VEG
2003-07-19 19:28
2003.08.07
Как можно получить имя и инфу об владельце IP





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский