Главная страница
    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.009 c
1-20596
OHP
2003-07-24 00:46
2003.08.07
Системы счисления


1-20575
ray_w
2003-07-24 11:05
2003.08.07
Код клавиши?


3-20423
IronHawk
2003-07-09 14:33
2003.08.07
Получить по коду ошибки EDBEngineError её описаниe.


14-20667
Dmitriy O.
2003-07-22 15:34
2003.08.07
Как можно вставить изображение в сылку на HTML страницу.


7-20823
Shadow
2003-05-25 14:19
2003.08.07
Серийный номер.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский