Читаем Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ полностью

API Firebird также содержит структуры - с их заголовками в ibase.h - для передачи и чтения информации относительно BLOB. Если у вас разыгралось любопытство, посмотрите дескрипторы BLOB и буфер параметров BLOB (BPB). Группа связанных

функций может быть использована в вашем коде фильтра BLOB, а также для прямого обращения к фильтрам BLOB из вашего кода приложения.

<p>Модули интернациональных языков</p>

Firebird поставляется с постоянно расширяющейся библиотекой поддержки интернациональных языков и последовательностей сортировки. Четыре "базовых" языка поставляются в библиотеке fbintl (для POSIX) или fbintl.dll (для Windows). Firebird отыскивает языковые библиотеки в каталоге инсталляции /intl.

Можно писать ваши собственные наборы символов и порядки сортировки и сделать так, чтобы сервер Firebird загружал их из библиотеки совместного использования, которая должна быть названа fbintl2, чтобы ее можно было распознать и загрузить. David Brookestone Schnepper, разработчик fbintl2, подготовил языковой пакет "сделай сам", свободно доступный на http://www.ibcolIate.com.

В Firebird 1.5 и выше также возможно реализовывать пользовательские наборы символов и порядки сортировки с использованием внешних функций. Поскольку комплект поставки fbintl2 включает ясные инструкции по каждому набору символов, он также может служить справочником, если вы планируете использовать внешние функции для реализации пользовательских наборов символов.

<p>Конфигурирование внешних размещений</p>

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

! ! !

СОВЕТ. Конфигурируйте небольшое количество размещений для сокращения области поиска сервером и требуемого уровня управления доступом.

. ! .

<p>Установки в файле конфигурации</p>

Файл конфигурации Firebird, как обсуждалось ранее в этой главе, дает возможность выполнить установки по ограничению доступа к библиотекам внешних функций, модулей фильтров BLOB и К файлам данных, связанных с таблицами с помощью определения CREATE TABLE <имя-таблицы> EXTERNAL (внешние таблицы или EVT). Установки для Firebird 1.5 в файле firebird.conf отличаются от установок для Firebird 1.0.x в файле isc config (POSIX) или ibconfig (Windows).

Конфигурация версии 1.5 применима ко всем моделям сервера 1.5. Конфигурация для 1.0.x применима только к Суперсерверу.

<p>UDFAccess</p>

Версия 1.5 и выше, файл firebird.conf.

Этот параметр используется для ограничения доступа к библиотекам внешних функций и модулям фильтров BLOB, рассматриваемых как потенциальная мишень для злонамеренных атак. Вы можете выбрать один из трех уровней доступа сервера ко всем этим модулям. До версии 1.5 возможность хранения внешних модулей в различных местах файловой системы рассматривалась как преимущество. Сейчас рекомендуется, чтобы их хранение ограничивалось одним деревом или, в особо незащищенных ситуациях, лучше вообще их запрещать.

UDFAccess Может быть None, Restrict или Full.

* None запрещает любое использование определенных пользователем внешних библиотек. Это значение по умолчанию инсталляции большинства дистрибутивов.

* Restrict (установка по умолчанию) ограничивает размещение вызываемых внешних библиотек указанными размещениями файловой системы. По умолчанию поиск начинается в каталоге /UDF в вашем корневом каталоге Firebird. Для задания размещения библиотек внешних функций или модулей фильтров BLOB В другом месте файловой системы предоставьте список из одного или более каталогов, разделенных точкой с запятой (;), в которых могут размещаться эти модули, например:

POSIX: /db/extern;/mnt/extern Windows: С:\ExternalModules

Относительные пути трактуются как пути относительно корневого каталога инсталляции Firebird. Например, в Windows, если инсталляция Firebird была в каталоге C:\Program Files\Firebird\Firebird_1_5, то следующее значение будет ограничивать доступ сервера к внешним файлам, только если они будут размещаться в C:\Program Files\Firebird\Firebird_1_5\userdata\ ExternalModules:

UDFAccess = Restrict userdata\ExternalModules

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

MODULE_NAME оператора DECLARE EXTERNAL FUNCTION, который объявляет функцию в базе данных. Подробности см. в разд. "Внешние функции (UDF)" главы 21.

external_function_directory

Версия 1.0.x, файл isc_config/ibconfig.

Перейти на страницу:

Похожие книги

Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript
Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript

Данная книга посвящена программированию игр с помощью ActionScript. Здесь вы найдете подробные указания, необходимые для создания самых разных игр – аркад, головоломок, загадок и даже игровых автоматов. В тексте приведены исходные коды программ и детальные, доступно изложенные инструкции. Базовые принципы программирования ActionScript рассматриваются на примере игр, однако вы без труда сможете применить полученные знания и для разработки неигровых проектов, таких как Web-дизайн и реклама. Рекомендации Гэри Розенцвейга помогут вам не только придумывать занимательные игры и размещать их на Web-сайте, но и оптимизировать скорость их работы, а также защищать свои творения от несанкционированного копирования. Представленный в книге код несложно изменить для использования в других программах.Книга предназначена для широкого круга читателей – создателей анимационных роликов, художников-оформителей, программистов и разработчиков Web-сайтов. Издание может также выступать в качестве практического пособия по изучению ActionScript.

Гэри Розенцвейг

Программирование, программы, базы данных / Программирование / Книги по IT
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ

Эта книга представляет собой перевод третьего издания американского бестселлера Effective C++ и является руководством по грамотному использованию языка C++. Она поможет сделать ваши программы более понятными, простыми в сопровождении и эффективными. Помимо материала, описывающего общую стратегию проектирования, книга включает в себя главы по программированию с применением шаблонов и по управлению ресурсами, а также множество советов, которые позволят усовершенствовать ваши программы и сделать работу более интересной и творческой. Книга также включает новый материал по принципам обработки исключений, паттернам проектирования и библиотечным средствам.Издание ориентировано на программистов, знакомых с основами C++ и имеющих навыки его практического применения.

Скотт Майерс , Скотт Мейерс

Программирование, программы, базы данных / Программирование / Книги по IT