Руководство. Технические требования phpMyAdmin 1 php


Преобразование данных в phpMyAdmin



бет3/3
Дата30.05.2016
өлшемі378.5 Kb.
#103268
1   2   3

Преобразование данных в phpMyAdmin



[1] Введение

Чтобы разрешить преобразования, необходимо установить и настроить таблицу `column_info` и характерные директивы. Ознакомьтесь с разделом "Конфигурирование" чтобы разобраться как это сделать.



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



Скажем, к примеру, что имеется поле 'filename', которое содержит названия файлов. В обычном случае Вы увидели бы только имя файла. Но, используя преобразования можно преобразовать простое имя файла в гиперссылку, которая при щелчке будет открывать этот файл в новом окне браузера. Используя опции преобразования Вы можете также определить строки, добавляемые (перед или после) к строке или формат в котором будут сохранены результаты. Для общего краткого обзора всех доступных преобразований и их вариантов, можете обратиться к файлу //libraries/transformations/overview.php.



[2] Использование

Перейдите на страницу tbl_properties.inc.php. Затем кликните на "Change" (или иконке "Изменить") - после этого увидите три новых поля в конце линии. Они называются 'MIME-type', 'Browser transformation' и 'Transformation options'.



  • Поле 'MIME-type' это выпадающее поле. Вы имеете возможность оставить это поле пустым либо использовать 'auto' [эта опция пока не доступна]. Помните, что трансформации неактивны до тех пор, пока не задан MIME-type.

  • Поле 'Browser transformation' это тоже выпадающее поле. Вы можете выбрать необходимое общего количества предопределенных трансформаций. См. ниже как настроить собственное преобразование.

Существуют глобальные (global transformations) и mimetype-ограниченные (mimetype-bound transformations) трансформации. Глобальные преобразования могут использоваться для разных типов данных. Mimetype-bound трансформации обычно оперируют определенным mime типом. Есть преобразования, которые оперируют основным mime-типом (например 'image'), который, скорее всего, имеет подтип, и есть также преобразования, которые оперируют определенным подтипом (например 'image/jpeg').



Вы можете использовать преобразования на mimetypes, для которых функция не была определена. Нет никакой проверки на безопасность выбираемых данных, поэтому стоит отдельно позаботиться о проверке выводимых данных.



  • Поле 'Transformation options' представляет собой текстовое поле для ввода. Здесь Вы можете ввести функцию преобразования. Обычно преобразование работает с вариантами по умолчанию, но вообще неплохо просмотреть обзор, для того чтобы определиться какой вариант больше подходит.

При использовании ENUM/SET-Fields, необходимо разбить опции, используя формат 'a','b','c',...(NOTE THE MISSING BLANKS). В результате внутренние опции будут разобраны как массив, выбирая первое значение первого элемента в массиве, и т.д.



Если Вы хотите задать MIME кодировку, можно задать её в transformation_options. Используйте формат "'; charset=XXX'". Если вы используете трансформацию, для которой Вы можете задать 2 опции и Вы хотите добавить в конец кодировку, введите "'first parameter','second parameter','charset=us-ascii'". Вы можете, тем не менее, использовать значение по умолчанию для параметров: "'','','charset=us-ascii'".



[3] Файловая структура

Все mime-типы и их преобразования определяются через отдельные файлы, размещенные в директории 'libraries/transformations/'. Сделано это для того чтобы облегчить настройку и добавление новых преобразований.



Так как пользователь не может ввести собственные mime-типы, это гарантирует, что преобразования всегда сработают. Поэтому не имеет смысла преобразование к mime-типу, т.к. функция-преобразователь не знает, как оперировать.



Однако можно использовать пустые mime-типы и глобальные преобразования (global transformations), которые должны работать со многими mime-типами. Вы можете также использовать преобразования для различных mime-типов где они заданы, но при этом следует уделять внимание выбору преобразования вашего поля. Это осуществляется с помощью файла 'global.inc.php', который может быть включен любой другой функцией преобразования, и обеспечивает некоторые основные функции.

Всего 5 возможных имен файлов:
1. mime-тип+подтип преобразования:
[mimetype]_[subtype]__[transform].inc.php

Обратите внимание, что mime-тип и подтип разделены нижним подчеркиванием '_', которое не должно содержаться в их именах. Требования к имени функции/файла, точно такие же как в PHP.



Функция преобразования вызывается следующим образом: 'PMA_transform_[mimetype]_[subtype]__[transform]()'.



Пример:
text_html__formatted.inc.php PMA_transform_text_html__formatted()



2. mime-тип+подтип без задания функции преобразования
[mimetype]_[subtype].inc.php
Помните, что нельзя использовать символ нижнего подчеркивания '__' в имени файла. Не используйте спецсимволы в именах файлов, которые могут вызвать проблемы с файловой системой.

Никакой функции преобразования непосредственно в файле не определяется.



Пример:
text_plain.inc.php


(Нет функции)

3. mime-тип (без подтипа) без определенной функции преобразования
[mimetype].inc.php

Помните, что нельзя использовать символ нижнего подчеркивания '__' в имени файла. Не используйте спецсимволы в именах файлов, которые могут вызвать проблемы с файловой системой.



Никакая функция преобразования не определена непосредственно в файле.



Пример:
text.inc.php


(Нет функции)

4. глобальная функция преобразования (global transform function) без определенного mime-типа
global__[transform].inc.php

Функция преобразования будет вызываться: 'PMA_transform_global__[transform]()'.



Пример:
global__formatted


PMA_transform_global__formatted()

Возьмите за правило: используйте '_', чтобы разделить mime-тип и подтип, и '__', чтобы указать функцию преобразования. Все имена файлов, не содержащие '__' не отображаются в выпадающем списке функция преобразований.



Ознакомьтесь с файлом libraries/transformations/TEMPLATE для добавления ваших собственных функций преобразования.



Смотрите libraries/transformations/TEMPLATE_MIMETYPE для добавления mime-типа без функции преобразования. Также пишите описание функций в файлах локализации. Для каждой функции создается переменная $strTransformation_[filename without .inc.php]. С этой целью Вы можете использовать генератор шаблона (template generator), чтобы сгенерировать новые функции и соответствующие записи в файле локализации.

Чтобы создать новую функцию преобразования, см. libraries/transformations/template_generator.sh. Чтобы создать новый, пустой mime-тип см. libraries/transformations/template_generator_mimetype.sh

Функции преобразования всегда передаются три переменные:



1. $buffer - Содержит текст в столбце. Это - текст, который необходимо преобразовать.


2. $options - Содержит любые переданные пользователем опции функции преобразования как массив.
3. $meta - Содержит объект с полем информации о вашем столбце. Данные извлекаются с помощью функции mysql_fetch_field (). Это означает, что все свойства объекта, описанные на странице мануала доступны через данную переменную и могут использоваться, чтобы преобразовать область соответственно к unsigned/zerofill/not_null/... свойства. $meta->mimetype переменная содержит оригинальный MIME-тип поля (к примеру, 'text/plain', 'image/jpeg' и т.д.)

Глоссарий

  • .htaccess - файл дополнительной конфигурации веб-сервера Apache, а также подобных ему серверов.

  • Blowfish - криптографический алгоритм, реализующий симметричное шифрование, разработанный Брюсом Шнейером в 1993 году

  • bzip2 - популярный компрессор с открытым исходным кодом, также алгоритм сжатия данных, разработанные Джулианом Сьюардом.

  • CGI (англ. Common Gateway Interface - "общий интерфейс шлюза") - стандарт интерфейса, служащего для связи внешней программы с веб-сервером.

  • Changelog (журнал изменений) - применительно к интернет-сайтам или программным продуктам - журнал или запись изменений произведённых в проекте.

  • Cross site scripting - см. Межсайтовый скриптинг.

  • CSV (англ. Comma Separated Values - "значения, разделённые запятыми") - текстовый формат, предназначенный для представления табличных данных.

  • extension (расширение) - модуль интерпретатора PHP, расширяющий его функциональность.

  • FAQ (от англ. Frequently Asked Questions - часто задаваемые вопросы) - собрание часто задаваемых вопросов по какой-либо теме и ответов на них.

  • FPDF (FreePDF) - свободно распространяемая библиотека PHP, позволяющая генерировать Файлы формата PDF исключительно с помощью PHP.

  • GD (графическая библиотека) - библиотека PHP для динамической работы с изображениями.

  • GD2 - см. графическая библиотека GD.

  • gzip - утилита сжатия и восстановления (декомпрессии) файлов.

  • HTTP (от англ. Hypertext Transfer Protocol — "протокол передачи гипертекста") - один из самых распространённых сетевых протоколов Интернета, основа Всемирной паутины.

  • HTTP Response Splitting - уязвимость являющаяся следствием того, что протокол HTTP позволяет прерывать заголовок и начинать новый, который и будет считаться "правильным" и обрабатываться "жертвой". HTTP Response Splitting позволяет проводить целый ряд атак, таких как отравление веб кэша, подмену страниц, "cross-user defacement", кража пользовательской информации и межсайтовый скриптинг.

  • https - расширение протокола HTTP, поддерживающее шифрование.

  • IIS (Internet Information Services) - набор серверов для нескольких служб Интернета от компании Майкрософт.

  • IP (англ. Internet Protocol — межсетевой протокол) — маршрутизируемый сетевой протокол, основа стека протоколов TCP/IP.

  • IP-адрес (сокращение от англ. Internet Protocol Address) — уникальный идентификатор (адрес) устройства (обычно компьютера), подключённого к локальной сети или интернету.

  • ISAPI (Internet Server Application Programming Interface) — это API для IIS (Internet Information Services), коллекции сетевых сервисов Microsoft Windows.

  • JPEG (Joint Picture Experts Group) - является широкоиспользуемым методом сжатия фотоизображений.

  • JPG - см. JPEG.

  • LATEX — наиболее популярный набор макрорасширений к TeX, который облегчает набор сложных документов.

  • Mac (Apple Macintosh) — линейка персональных компьютеров, спроектированных, разработанных, производимых и продаваемых фирмой "Apple Computer"

  • Mac OS X (Мак ОС десять) — операционная система фирмы Apple Computer, закрытый вариант BSD-UNIX университета Беркли, выпускается для компьютеров Macintosh (Макинтош) на базе процессоров PowerPC и Intel.

  • MCrypt - свободно распространяемая, криптографическая библиотека.

  • mcrypt - расширение PHP для доступа к функциям библиотеки MCrypt.

  • my.cnf - см. Конфигурационный файл MySQL.

  • my.ini - см. Конфигурационный файл MySQL.

  • MIME (Multipurpose Internet Mail Extensions) — стандарт, описывающий передачу различных типов данных по электронной почте.

  • module - вид расширения возможностей веб-сервера Apache.

  • MySQL — свободно распространяемая система управления базами данных (СУБД).

  • mysqli - расшинение PHP для полноценного доступа к функциональным возможностям MySQL версии 4.1 и выше.

  • mysql - расшинение PHP для доступа к MySQL.

  • OpenDocument - открытый стандарт для документов и офисных приложений.

  • OS X - см. Mac OS X.

  • Path disclosure (раскрытие местонахождения файла) - уязвимость, позволяющая несанкционированным способом вызвать сообщение об ошибке PHP, содержащее полный путь к директории.

  • PDF (аббревиатура от англ. Portable Document Format, произносится пи-ди-эф) - платформонезависимый формат электронных документов, созданный фирмой Adobe Systems с использованием ряда возможностей PostScript.

  • PEAR (акроним от английских слов PHP Extension and Application Repository) — это библиотека классов PHP с открытым исходным кодом.

  • PCRE (аббревиатура от англ. Perl Compatible Regular Expressions - "Perl-совместимые регулярные выражения") - функции Perl-совместимых регулярных выражений в PHP.

  • PHP (аббревиатура от англ. PHP: Hypertext Preprocessor) — скриптовый язык программирования, созданный для генерации HTML-страниц на веб-сервере и работы с базами данных.

  • RFC (англ. Request for Comments - "запрос комментариев") — документ из серии пронумерованных информационных документов Интернета, содержащих технические спецификации и Стандарты, широко применяемые во Всемирной сети.

  • RFC 1952 - спецификация Формата файла GZIP версии 4.3

  • Root (в контексте MySQL) - привилегированный пользователь, имеющий доступ ко всем функциям базы данных. Учетная запись root должна использоваться исключительно в административных целях.

  • SSL (англ. Secure Sockets Layer — протокол защищённых сокетов) — криптографический протокол, обеспечивающий безопасную передачу данных по сети Интернет.

  • SQL (англ. Structured Query Language — язык структурированных запросов) — универсальный язык, применяемый для создания, модификации и управления данными в реляционных базах данных.

  • tar (англ. tape archive) — формат битового потока или файла архива, а также название традиционной для Unix программы для работы с такими архивами.

  • TCP (англ. Transmission Control Protocol — протокол управления передачей) — один из основных сетевых протоколов Internet, предназначенный для управления передачей данных в сетях TCP/IP.

  • UFPDF - Unicode/UTF-8 расширение для FPDF

  • URL (англ. Uniform Resource Locator) - это адрес страницы в интернете. URL состоит из доменного имени, пути к странице на сайте и имени файла страницы.

  • XML (Extensible Markup Language) (англ. eXtensible Markup Language — расширяемый язык разметки) — рекомендованный Консорциумом Всемирной паутины язык разметки, фактически представляющий собой свод общих синтаксических правил.

  • XSS - см. Межсайтовый скриптинг.

  • ZIP - популярный формат сжатия данных и архивации файлов.

  • zlib - бесплатная кроссплатформенная библиотека для сжатия данных, созданная Жан-лу Галли (фр. Jean-loup Gailly) и Марком Адлером (англ. Mark Adler).

  • База данных (database) - централизованное хранилище данных, обеспечивающее хранение, доступ, первичную обработку и поиск информации.

  • БД - см. "База данных".

  • Браузер (броузер) - это программное обеспечение для просмотра вебсайтов, то есть для запроса вебстраниц из Паутины, для их обработки и вывода, и для реализации перехода от одной страницы к другой.

  • Вебсервер (Webserver) — это сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы, обычно вместе с HTML-страницей, изображением, файлом, медиа-потоком или другими данными.

  • Внешний ключ (англ. foreign key) - поле таблицы предназначенное для хранения значения первичного ключа таблицы, связанной с данной (внешней) таблицей.

  • Имя хоста (анг. "hostname") - уникальное имя по которому подключенное к сети устройство может быть узнано в данной сети.

  • Индекс (англ. index) - объект базы данных, создаваемый с целью повышения производительности выполнения запросов.

  • Интернет-провайдер (Internet service provider, ISP) — организация, предоставляющая услуги доступа к Интернету и иные связанные с Интернетом услуги.

  • Клиент (client) — это аппаратный или программный компонент вычислительной системы, посылающий запросы серверу.

  • Ключ (key) - см. index.

  • Конфигурационный файл MySQL - файл, применяющийся для записи и хранения параметров программ MySQL, что исключает необходимость ввода этих параметров в командной строке при каждом вызове программы. В зависимости от версии ОС файл может называться my.ini или my.cnf.

  • Куки (от англ. cookies — домашнее печенье) - небольшой фрагмент служебной информации, помещаемый веб-сервером на компьютер пользователя.

  • Межсайтовый скриптинг (Cross site scripting или XSS) - это возможность вставки HTML кода в уязвимую страницу. Инъекция кода осуществляется через все доступные способы ввода информации. Успешное завершение атаки может привести к использованию значений различных переменных, доступных в контексте сайта, записи информации, перехвату пользовательских сессий и т.д.

  • Отложенная вставка (INSERT DELAYED) - впервые появилась в MySQL 3.22.15 и применимо только к таблицам ISAM и MyISAM. При определении ключевого слова DELAYED строки помещаются в очередь для более поздней вставки, и оператор завершает своё выполнение. Благодаря этому клиент может продолжить свою работу. Использование INSERT DELAYED хороший способ "ускорения" скрипта, т.к. вставка данных будет выполнена только тогда, когда она не приведет к замедлению работы сервера. Однако, нужно быть внимательным, т.к. в этом случае функция LAST_INSERT_ID() не возвратит значение AUTO_INCREMENT для столбца AUTO_INCREMENT

  • Поле (field) - строка в таблице с данными. Синоним термина реляционной базы данных "кортеж".

  • Порт (port) - параметр протоколов TCP и UDP, определяющий пункт назначения для данных, принимаемых по сети.

  • Сервер (англ. server от англ. to serve — служить) — в информационных технологиях — программный компонент вычислительной системы, выполняющий сервисные функции по запросу клиента, предоставляя ему доступ к определённым ресурсам.

  • Словарь данных (Data Dictionary) - отведенное место в базе данных, которое используется для хранения информации о самой базе данных. Словарь данных может содержать информацию: об архитектуре базы данных, о хранимых процедурах, о пользовательских привилегиях, и др.

  • Сокеты (socket) - название программного интерфейса для обеспечения информационного обмена между процессами.

  • Столбец (column) - это часть данных определённого типа, единого для всех полей таблицы. Синоним термина реляционной базы данных "атрибут".

  • Строка (Row) - см. Поле.

  • Таблица (table) - набор элементов данных организованных, определённых и сохранённых в виде горизонтальных строк и вертикальных столбцов, где каждый элемент может быть идентифицирован по его имени, ключу или позиции по отношению к другим элементам.

  • Тип таблицы (table type) - см. Типы хранилищ

  • Типы хранилищ (Storage Engines) - обработчики для различных типов таблиц.

  • Хост (анг. "host") - любое устройство, предоставляющее сервисы формата "клиент-сервер" в режиме сервера по каким-либо интерфейсам и уникально определённое на этих интерфейсах.


Достарыңызбен бөлісу:
1   2   3




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет