browscap.ini посвежее сущесвует в природе?
Ответ
на самом деле проблема вот какая: после установки/анинстала browserHawk-а перестал корректно работать стандартый browscap.dll, то-есть неважно какой browscap.ini туда ему ложишь, ему все по барабану, говорит unknown везде (перезагрузка и все такое после перезаписи ini файла не помогает также) Где тут собака порылась?
Меню пользователя @ ambarka2 |
Обновление browscap.ini без доступа к папке system32
Уважаемые форумчане! есть сервер IIS 8 написан сайт на ASP classic как приложение на этом языке.
Видеокарта посвежее
Сейчас конфигурация компа такова: Процессор Intel Core i7 2600k @ 4.2 GHz OC Материнка ASUS P8P67.
Сохранение TrackBar->Position в ini, ошибка (unable to write to options.ini)
TIniFile *Ini = new TIniFile(«options.ini»); void __fastcall TForm2::Button5Click(TObject.
Desktop_2.ini и desktop_1.ini вирус ли это?
Не давно поймал то ли вирус, то ли нет в общем во всех попках и под папках появились файлы.
Возможности браузеров ASP
ASP компонент Возможности браузеров
ASP компонент Возможности браузера создает объект BrowserType который может быть измерен в типе браузера посетителя, возможностей и номер версии.
Когда браузер подключается к серверу, он будет посылать заголовок HTTP Агент пользователя на сервер. Заголовок содержит информацию о браузере.
Информацию о файле заголовка сервера BrowserType Browscap.ini под названием «Browscap.ini» информации для сравнения.
Если заголовок типа браузера и номер версии информации соответствующий файл «Browsercap.ini», то мы можем использовать объекты, перечисленные в этом матче BrowserType браузера связанные свойства. Если совпадения нет, этот объект будет установить каждое свойство «Неизвестная».
грамматика
ASP примеры возможностей браузера
В следующем примере создается объект BrowserType в файле ASP, а также отображать информацию о текущей производительности браузера:
ASP Browser Capabilities Component
ASP Browser Capabilities Component
The ASP Browser Capabilities component creates a BrowserType object that determines the type, capabilities and version number of a visitor’s browser.
When a browser connects to a server, a User Agent header is also sent to the server. This header contains information about the browser.
The BrowserType object compares the information in the header with information in a file on the server called «Browscap.ini».
If there is a match between the browser type and version number in the header and the information in the «Browscap.ini» file, the BrowserType object can be used to list the properties of the matching browser. If there is no match for the browser type and version number in the Browscap.ini file, it will set every property to «UNKNOWN».
Syntax
ASP Browser Capabilities Example
The example below creates a BrowserType object in an ASP file, and displays some of the capabilities of your browser:
Как получить User Agent в PHP. Как настроить browscap.ini
User Agent — это строка, которая характеризует программу, делающую запрос к веб-серверу. Пример такой строки:
Как можно увидеть, по User Agent можно определить операционную систему и версию веб-браузера.
По своей сути User Agent является одним из заголовков протокола HTTP. Причём этот заголовок присылает сам клиент. Отсюда очень важное следствие — строка User Agent может быть подменена на абсолютно любое значение или отсутствовать вовсе. В веб-браузерах это можно сделать с помощью плагинов.
Поэтому всегда помните о том, что Пользовательский Агент может быть спуфлен (заменён). Причём если вы, например, сохраняете полученные значения в базу данных, то помните о необходимости фильтрации данных, поскольку без должной фильтрации пользовательских данных это может стать причиной уязвимости SQL-инъекция.
Итак, получить значение User Agent в PHP скрипте можно используя переменную $_SERVER[‘HTTP_USER_AGENT’]. Например:
Как настроить PHP для работы с get_browser
Ещё один способ — это использовать функцию get_browser. На самом деле, суть функции get_browser в том, чтобы показать возможности (поддерживаемые технологии) веб-браузера на основе User Agent. Причём необязательно для текущего пользователя — функция get_browser может в качество ввода принимать произвольную строку User Agent.
По умолчанию функция get_browser НЕ работает, поскольку требует дополнительной настройки в конфигурации PHP. Если не выполнить эту настройку, то при попытке использовать функцию get_browser вы будете получать примерно такое предупреждение:
Точнее говоря, требуется скачать специальный файл с перечнем свойств веб-браузера и указать путь до него в php.ini (главном конфигурационном файле PHP).
Эти файлы размещены на сайте http://browscap.org/. Всего для PHP имеется 3 варианта:
- php_browscap.ini (17,095 KB). Стандартная версия файла, довольно полная.
- full_php_browscap.ini (85,513 KB). Самая большая версия файла со всеми возможными свойствами.
- lite_php_browscap.ini (463 KB). Облегчённый вариант, содержит основные браузеры и поисковые движки. Этот файл вполне подойдёт для большинства веб-сайтов.
Итак, скачайте один из этих файлов — тот, который больше подходит под ваши нужды.
Для примера я скачал файл full_php_browscap.ini. Переименуйте скаченный файл в browscap.ini.
Переместите этот файл в директорию /etc/php/
Теперь откройте файл /etc/php/php.ini. Найдите там раздел:
Удалите вторую строку, а третью раскомментируйте и в качестве значения укажите абсолютный путь до файла, чтобы получилось так:
Чтобы изменения вступили в силу, перезапустите веб-сервер Apache.
На Debain, Ubuntu, Linux Mint, Kali Linux и их производных:
На Arch Linux, BlackArch и их производных:
Пример выполнения кода:
Обратите внимание, что в последних версиях PHP драмматически (в сотню раз) увеличена скорость работы функции get_browser.
Что PHP может узнать о браузере посетителя?
О чем это?
Возможно ли узнать более детальную информацию о браузере посетителя кроме строки, содержащейся в $_SERVER[«HTTP_USER_AGENT»]: поддерживает ли яву, апплеты, таблицы стилей и фреймы? А может это вообще гуглобот зашел?
Предистория
Захотелось заказчику, чтобы при заходе на сайт отображался его любимый логотип с пробегающей по нему искоркой света… Уговорить отказаться от этой идеи человека я так и не смог, но в итоге мы решили, что радость эта будет отображаться только раз, и только при заходе на главную страницу. Если человек попал на сайт с поисковика, он сразу переходит на страницу. Если он руками вписывает адрес в браузер, он перенаправляется на страницу с анимацией. После успешного отображения в куки пишется маркер, и видео больше не грузится. Но… Если на сайт зайдет не человек, а поисковик, то писать себе куки он не будет. Поэтому он всегда будет натыкаться на страницу с анимацией, и в выдаче поисковиков мы себя так и не увидим. Да и зачем поисковику логотип компании видеть
Как можно узнать что-либо о браузере клиента
Проблема в итоге была решена методом поиска подстроки имен пауков нескольких известных поисковиков в переменной $_SERVER[«HTTP_USER_AGENT»]. Но перед этим я походил по ману и обнаружил интересную функцию get_browser(). Она умеет выдавать массив параметров браузера гостя нашего сайта, назначения половины которых, правда, я так и не понял Единственная тонкость работы этой функции в том, что она требует наличия на хосте свежей версии файла browscap.ini, а также настройки php.ini. Очевидно что нашим ленивым (просьба не обижаться) админам влом постоянно обновлять этот файлик, так что на это обычно забивают и функция попросту недоступна. Проверить это можно, заглянув в phpinfo(), отыскав там диррективу browscap, и ничуть не удивившись что напротив нее гордо красуется надпись «no value», приступить к прочтению следующего параграфа.
Что же делать
Для начала нам нужен сам файл browscap.ini. Его можно скачать с http://browsers.garykeith.com/. Может он есть и еще где-то, но данный источник рекомендуемый для скачивания самим PHP, по-этому пользуемся именно им.
Возникает вопрос: а куда нам, собственно, теперь его пристроить? Админ нас к серверу не подпустит, да и в настройках ковыряться не даст. По-этому надо бы поискать другой вариант. А их в сети нашлось целых два.
- Browser Capabilities PHP Project — PHP5 ONLY
- Alexandre Alapetite’s version
Тут находятся детальные и простые инструкции по запуску. Если вкратце, остается скачать нужную библиотеку, подключить в нужное место, и вызвать соответствующую функцию. Для Browser Capabilities PHP Project вызов выглядит вот так:
if(ini_get(‘browscap’))
<
//неленивые админы попались
/* старт шутки */
//вероятность выполнение участка кода стремится к нулю поэтому пишем сюда
echo «Начальство — ты меня задрало!»;
/* конец шутки — всем смеяться :)*/
>
else
<
//используем нашу библиотеку
require_once(‘browscap.php’);
$bc = new Browscap(‘path/to/the/cache/dir’);
$browserInfo=$bc->getBrowser();
в результате чего получим примерно следующее
stdClass Object
(
[browser_name] => Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_2; en-us) AppleWebKit/525.18 (KHTML, like Gecko) Version/3.1.1 Safari/525.18
[browser_name_regex] => ^mozilla/5\.0 \(macintosh; .; .*mac os x.*\) applewebkit/.* \(.*\) version/3\.1.* safari/.*$
[browser_name_pattern] => Mozilla/5.0 (Macintosh; ?; *Mac OS X*) AppleWebKit/* (*) Version/3.1* Safari/*
[Parent] => Safari 3.1
[Platform] => MacOSX
[Browser] => Safari
[Version] => 3.1
[MajorVer] => 3
[MinorVer] => 1
[Frames] => 1
[IFrames] => 1
[Tables] => 1
[Cookies] => 1
[BackgroundSounds] => 1
[JavaApplets] => 1
[JavaScript] => 1
[CSS] => 2
[CssVersion] => 2
[supportsCSS] => 1
[Alpha] =>
[Beta] =>
[Win16] =>
[Win32] =>
[Win64] =>
[AuthenticodeUpdate] =>
[CDF] =>
[VBScript] =>
[ActiveXControls] =>
[Stripper] =>
[isBanned] =>
[WAP] =>
[isMobileDevice] =>
[isSyndicationReader] =>
[Crawler] =>
[AOL] =>
[aolVersion] => 0
[netCLR] =>
[ClrVersion] => 0
)
UPD. Полученные данные свидетельствуют лишь о поддержке браузером некоторой технологии, а не о ее доступности, так как файл browscap.ini это по сути база данных всех веб-клиентов, в которой по значению User-Agent браузера предоставляется информация о поддерживаемых этим браузером технологиях. Тоесть для современных браузеров при отключенных куках и яве соответствующие параметры все равно будут возвращать еденицу.
Куда применять эту функцию, надеюсь, каждый найдет для себя сам
Asp файл browscap ini
The example below creates a BrowserType object in an ASP file, and displays some of the capabilities of your browser:
Example
Client OS
Client OS | WinNT |
---|---|
Web Browser | IE |
Browser version | 5.0 |
Frame support? | True |
Table support? | True |
Sound support? | True |
Cookies support? | True |
VBScript support? | True |
JavaScript support? | True |
Client OS | unknown |
Web Browser | Default |
Browser version | 0.0 |
Frame support? | False |
Table support? | True |
Sound support? | False |
Cookies support? | False |
VBScript support? | False |
JavaScript support? | False |
The Browscap.ini File
The «Browscap.ini» file is used to declare properties and to set default values for browsers.
This section is not a tutorial on how to maintain «Browscap.ini» files, it only shows you the basics; so you get an idea what the file is all about.
The «Browscap.ini» file can contain the following:
Parameter | Description |
---|---|
comments | Optional. Any line that starts with a semicolon are ignored by the BrowserType object |
HTTPUserAgentHeader | Optional. Specifies the HTTP User Agent header to associate with the browser-property value statements specified in propertyN. Wildcard characters are allowed |
browserDefinition | Optional. Specifies the HTTP User Agent header-string of a browser to use as the parent browser. The current browser’s definition will inherit all of the property values declared in the parent browser’s definition |
propertyN | Optional. Specifies the browser properties. The following table lists some possible properties:
|
valueN | Optional. Specifies the value of propertyN. Can be a string, an integer (prefix with #), or a Boolean value |
defaultPropertyN | Optional. Specifies the name of the browser property to which to assign a default value if none of the defined HTTPUserAgentHeader values match the HTTP User Agent header sent by the browser |
defaultValueN | Optional. Specifies the value of defaultPropertyN. Can be a string, an integer (prefix with #), or a Boolean value |
A «Browscap.ini» file might look something like this:
;IE 5.0
[IE 5.0]
browser=IE
Version=5.0
majorver=#5
minorver=#0
frames=TRUE
tables=TRUE
cookies=TRUE
backgroundsounds=TRUE
vbscript=TRUE
javascript=TRUE
javaapplets=TRUE
ActiveXControls=TRUE
beta=False
Access to this page has been denied.
You have been blocked because we believe you are using automation tools to browse the website.
This may happen as a result of the following:
- Javascript is disabled or blocked by an extension (ad blockers for example)
- Your browser does not support cookies
If you think you have been blocked by mistake, please contact help@drupal.org with the reference ID below.
Reference ID: #f1db6fb0-053f-11ea-acdc-53fe6fb313a4
Вопрос по sql-server, sql-server-2012, visual-studio-2012 – Visual Studio 2012 Database Designer — Изменилась ли функциональность?
Я недавно установил Visual Studio и SQL Server 2012. Ямне интересно, если яя что-то упустил, потому что конструктор баз данных неКажется, что везде так же дружелюбно, как старая версия
В Visual Studio 2010, когда я создавал пользовательский экземпляр SQL (.mdf) в каталоге App_Data, я мог создавать таблицы с использованием приятного интерфейса, который очень похож на SQL Server Management Studio. Я’Нажмите кнопку Сохранить, и все было обновлено.
1) Создается сценарий .sql вместо автоматического сохранения моих изменений.
2) Я должен обновить некоторые вещи в окне TSQL, а не в области свойств (некоторые вещи, такие как имя таблицы, выделены серым цветом в свойствах).
3) Создание таких вещей, как внешние ключи и индексы, далеко не так тривиально, как раньше.
Я что-то упустил из своей установки? Или этоновый способ» делать вещи? Если так, то почему это стало, по моему скромному мнению, более сложным?
Мы больше не можем делать запросы визуально в Visual Studio 2012. Для тех, кто любит печатать, они могут печатать свои запросы. Это делает объединение нескольких столов очень увлекательным. Для тех, кто неКак и при наборе текста, в SQL Server Management Studio все еще есть визуальный редактор запросов. Другой вариант — использовать более старую версию Visual Studio.
Разработчики пользовательских экземпляров SQL были заменены разработчиками средств данных SQL Server (SSDT).
Дело в том, что Microsoft поощряет разработчиков переходить на использование отдельного проекта Visual Studio для базы данных, а не на то, чтобы хранить его в качестве актива в проекте приложения.
Эта система проекта работает путем синхронизации набораНе в сети объявления объекта базы данных (написанные на T-SQL) с физической базой данных во время сборки проекта.
Разработчики замены кажутся немного странными, потому что они наследуют большую часть своего поведения от дизайнеров, используемых в автономных проектах баз данных.
Конечно, естьнет причин, почему вы можетеиспользовать этионлайн дизайнеры редактируют вашу базу данных: вместо нажатияСохранить когда вы вносите изменения в объект, нажмитеОбновить, Это позволит применить изменения непосредственно к вашему активу .mdf.
Или, возможно, делайте то, что я делаю, и просто используйте SSMS для редактирования ваших баз данных
Что PHP может узнать о браузере посетителя?
О чем это?
Возможно ли узнать более детальную информацию о браузере посетителя кроме строки, содержащейся в $_SERVER[«HTTP_USER_AGENT»]: поддерживает ли яву, апплеты, таблицы стилей и фреймы? А может это вообще гуглобот зашел?
Предистория
Захотелось заказчику, чтобы при заходе на сайт отображался его любимый логотип с пробегающей по нему искоркой света… Уговорить отказаться от этой идеи человека я так и не смог, но в итоге мы решили, что радость эта будет отображаться только раз, и только при заходе на главную страницу. Если человек попал на сайт с поисковика, он сразу переходит на страницу. Если он руками вписывает адрес в браузер, он перенаправляется на страницу с анимацией. После успешного отображения в куки пишется маркер, и видео больше не грузится. Но… Если на сайт зайдет не человек, а поисковик, то писать себе куки он не будет. Поэтому он всегда будет натыкаться на страницу с анимацией, и в выдаче поисковиков мы себя так и не увидим. Да и зачем поисковику логотип компании видеть
Как можно узнать что-либо о браузере клиента
Проблема в итоге была решена методом поиска подстроки имен пауков нескольких известных поисковиков в переменной $_SERVER[«HTTP_USER_AGENT»]. Но перед этим я походил по ману и обнаружил интересную функцию get_browser(). Она умеет выдавать массив параметров браузера гостя нашего сайта, назначения половины которых, правда, я так и не понял Единственная тонкость работы этой функции в том, что она требует наличия на хосте свежей версии файла browscap.ini, а также настройки php.ini. Очевидно что нашим ленивым (просьба не обижаться) админам влом постоянно обновлять этот файлик, так что на это обычно забивают и функция попросту недоступна. Проверить это можно, заглянув в phpinfo(), отыскав там диррективу browscap, и ничуть не удивившись что напротив нее гордо красуется надпись «no value», приступить к прочтению следующего параграфа.
Что же делать
Для начала нам нужен сам файл browscap.ini. Его можно скачать с http://browsers.garykeith.com/. Может он есть и еще где-то, но данный источник рекомендуемый для скачивания самим PHP, по-этому пользуемся именно им.
Возникает вопрос: а куда нам, собственно, теперь его пристроить? Админ нас к серверу не подпустит, да и в настройках ковыряться не даст. По-этому надо бы поискать другой вариант. А их в сети нашлось целых два.
- Browser Capabilities PHP Project — PHP5 ONLY
- Alexandre Alapetite’s version
Тут находятся детальные и простые инструкции по запуску. Если вкратце, остается скачать нужную библиотеку, подключить в нужное место, и вызвать соответствующую функцию. Для Browser Capabilities PHP Project вызов выглядит вот так:
if(ini_get(‘browscap’))
<
//неленивые админы попались
/* старт шутки */
//вероятность выполнение участка кода стремится к нулю поэтому пишем сюда
echo «Начальство — ты меня задрало!»;
/* конец шутки — всем смеяться :)*/
>
else
<
//используем нашу библиотеку
require_once(‘browscap.php’);
$bc = new Browscap(‘path/to/the/cache/dir’);
$browserInfo=$bc->getBrowser();
в результате чего получим примерно следующее
stdClass Object
(
[browser_name] => Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_2; en-us) AppleWebKit/525.18 (KHTML, like Gecko) Version/3.1.1 Safari/525.18
[browser_name_regex] => ^mozilla/5\.0 \(macintosh; .; .*mac os x.*\) applewebkit/.* \(.*\) version/3\.1.* safari/.*$
[browser_name_pattern] => Mozilla/5.0 (Macintosh; ?; *Mac OS X*) AppleWebKit/* (*) Version/3.1* Safari/*
[Parent] => Safari 3.1
[Platform] => MacOSX
[Browser] => Safari
[Version] => 3.1
[MajorVer] => 3
[MinorVer] => 1
[Frames] => 1
[IFrames] => 1
[Tables] => 1
[Cookies] => 1
[BackgroundSounds] => 1
[JavaApplets] => 1
[JavaScript] => 1
[CSS] => 2
[CssVersion] => 2
[supportsCSS] => 1
[Alpha] =>
[Beta] =>
[Win16] =>
[Win32] =>
[Win64] =>
[AuthenticodeUpdate] =>
[CDF] =>
[VBScript] =>
[ActiveXControls] =>
[Stripper] =>
[isBanned] =>
[WAP] =>
[isMobileDevice] =>
[isSyndicationReader] =>
[Crawler] =>
[AOL] =>
[aolVersion] => 0
[netCLR] =>
[ClrVersion] => 0
)
UPD. Полученные данные свидетельствуют лишь о поддержке браузером некоторой технологии, а не о ее доступности, так как файл browscap.ini это по сути база данных всех веб-клиентов, в которой по значению User-Agent браузера предоставляется информация о поддерживаемых этим браузером технологиях. Тоесть для современных браузеров при отключенных куках и яве соответствующие параметры все равно будут возвращать еденицу.
Куда применять эту функцию, надеюсь, каждый найдет для себя сам
Asp файл browscap ini
В этом разделе содержится информация о том, откуда загрузить PHP, и вопросы, относящиеся к ОС.
1. Где можно достать PHP?
Вы можете загрузить PHP с одного из сайтов сети PHP. Их можно найти на http://www.php.net/. Вы можете также использовать anonymous CVS для получения самой последней версии исходников. Дополнительно см. http://cvs.php.net/.
2. Имеются ли откомпилированные бинарные версии?
Мы распространяем только откомпилированные бинарные файлы для систем Windows, так как мы не можем компилировать PHP для каждой известной Linux/Unix-платформы со всеми возможными комбинациями расширений. Учтите также, что многие дистрибутивы Linux в наше время поступают с встроенным PHP. Бинарные файлы для Windows можно загрузить с нашей страницы Downloads, для получения файлов Linux, пожалуйста, посетите ваш web-сайт дистрибутивов.
3. Где можно найти библиотеки, необходимые для компиляции расширений PHP?
Примечание: библиотеки, отмеченные знаком *, не являются поточно-безопасными/thread-safe библиотеками и не должны использоваться с PHP как серверный модуль в многопоточных Windows web-серверах (IIS, Netscape). Этот не имеет значения в среде Unix.
LDAP (Unix/Win): Netscape Directory (LDAP) SDK 1.1.