
- •19.Назначение библиотеки программирования клиентов. Api интерфейсы, поддерживаемые субд MySql. Критерии выбора api интерфейса.
- •20. Описание порядка взаимодействия пользователя с сервером MySql через web-интерфейс, реализованный средствами php. Схема трехуровневой архитектуры "клиент-сервер".
- •Закрытие соединения с sql-сервером
- •1 Способ
- •2Способ
- •24Проверка результатов запроса на значения "null"
- •27.Типы таблиц, поддерживаемые субд MySql. Их характеристика.
- •32)Понятие cookie. Команды установки и удаления cookie. Получение значений, хранящихся в cookie.
- •33)Понятие http-аутентификации и сессий. Функции хэширования данных. Технология работы с сессиями в рнр.
- •28)Понятие транзакции. Типы таблиц, поддерживающие транзакции, их преимущества Способы создания транзакций.
- •29)Понятие транзакции. Типы таблиц, не поддерживающие транзакции. Решение проблем транзакций без применения механизма транзакций.
- •31)Понятие индекса и индексирования. Преимущества. Правила отбора столбцов для инд.. Типы индексов. Способы задания индексов.
- •34)Понятие констант, переменных и функций в php. Способ описания констант. Синтаксис описания функции в php.Вызов функции. Прим.
27.Типы таблиц, поддерживаемые субд MySql. Их характеристика.
Количество типов таблиц, доступных пользователю, зависит:
от версии СУБД MySQL
от того, каким образом они настраивались при создании сервера
от параметров, с кот. он был запущен.
Типы таблиц:
ISAM – оригинальное хранилище (устарелый тип).
MYISAM – Бинарное, переносимое хранилище
MERGE(MRG MyISAM) – совокупность нескольких таблиц MyISAM
HEAP – Хранятся только в памяти
BDB (Berkley DB) – Поддержка транзакций
InnoDB (Innobase) – Поддержка транзакций с блокировкой строк
Maria – Расширенная версия хранилища MyISAM с добавлением средств сохранения целостности.
Для проверки какие типы таблиц поддерживаются конкретной версией СУБД используется команда SHOW TABLE TYPES;
TypeSupportComment…Default
Yes……Support:
Yes или No – наличие поддержки
DISABLED – если поддержка имеется, но она отключена
DEFAULT – поддержка тех типов табл…
Определение типа таблицы: Первый раз тип таблицы задаётся при описании в команде CREATE TABLE… Если таблица создана, то её тип: ALTER TABLE tbl_name TYPE = MyISAM.
32)Понятие cookie. Команды установки и удаления cookie. Получение значений, хранящихся в cookie.
Cookies – это файл с данными, кот. Web-сервер с помощью браузера помещает на комп пользователя для сохранения сведений о пользователе и его настройках.
Путь: c:\Documents and Settings\ имя пользователя\ Cookies
Временные cookies – удаляются с компьютера после закрытия браузера. Веб узлы используют их для сохранения временной информации, например, о товарах в корзине. Постоянные (сохраняемые) файлы cookies остаются на компе после закрытия браузера. Они используются веб-узлом для сохранения такой информации как имя пользователя и пароль.Установка cookies: setcookies (name (имя), value (значение), [expire] (время действия куки), [path] (путь куки на сервере), [domain] (домен, кот.принадлежит куки), [secure] (способ передачи куки), [httponly] (по-умол. Протокол http))
Доступ к cookie: для чтения значения cookie нужно просто обратиться к системному массиву $_COOKIE.
Пример: if (isset($_COOKIE [‘username’]))
$username = $cookie [‘username’];
Удаление cookie: для удаления его нужно повторно установить, но с указанием прошедшего времени.
Setcookie(‘username’, ‘alex’, time()-2592000, ‘/’);
33)Понятие http-аутентификации и сессий. Функции хэширования данных. Технология работы с сессиями в рнр.
Исп-ся функция Header(). Пользователю даётся 3 попытки ввода логина и пароля.
Имеется механизм аутентификации пользователей (т.е. ввод логина и пароля) однако не реализована проверка допустимости их имён и паролей путём сравнения с оригиналами, хранящимися на сервере). Основным способом хранения оригиналов явл-ся таблицы MySQL, в них м. хранить пароли, причём пароли хранятся в зашифрованном виде. Шифрование выполняется с помощью односторонней функции, преобразующей строку текста в набор произвольных символов. Примером односторонней функции явл. md5. Она преобразует строку в хэш, представляет собой 32-символьное 16-значное число.
Пример: $secret=md5 (‘весна’); Значение переменной $secret – 34hfj5… (32 симв)
Хэш функция sha1 – возвращает 40-симв. 16-ное число. Пример: $secret=sha1(‘весна’)
Добавление произвольных данных в пароль: применение только хэш-функций для защиты БД с паролями явл. недостаточной мерой, т.к. пароль м.б. вскрыт путём простого перебора. В качестве заслона исп-ся приём «посыпание солью» (к кодируемому тексту добавляется некоторый известный текст $secret=md5(‘@78весна’); Для проверки пароля при входе на сайт достаточно добавить произвольный известный текст в нач. и конец пароля, а затем сравнить текст, полученный от md5 с инфой, кот. Была сохранена в БД для данного пользователя.
Использование сессий:
Сессии – группы переменных, кот. Хранятся на сервере, но относятся только к тек. Пользователю. Начало сессии: session_start(), затем сохраняем переменные сессии как значение массива $_SESSION:
$_SESSION [‘имя переменной’]=$переменная сессии со значением.
Завершение сессии: session_destroy(). Установка времени закрытия сессии ф-ция ini_set, по истечении этого времени происходит автоматическое завершение работы сессии. Пример: установка времени ожидания ровно на сутки: ini_set (‘session_gc_maxlifetime’.60*60*24);