Форум: "Потрепаться";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 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]

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

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




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




Наверх






Память: 0.77 MB
Время: 0.03 c
1-20626           Zhuchok               2003-07-25 01:52  2003.08.07  
IniFiles


14-20733          Tahion2               2003-07-20 01:30  2003.08.07  
Посоветуйте хорошую замену DBGrid-у


11-20461          Arioch                2002-12-03 14:57  2003.08.07  
new Project & MCK 1.57


7-20835           Ромн                  2003-05-21 12:25  2003.08.07  
Нажатие на копку


1-20601           starik30              2003-07-24 13:20  2003.08.07  
Создание компонента