Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
остальные.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
169.47 Кб
Скачать

27.Типы таблиц, поддерживаемые субд MySql. Их характеристика.

Количество типов таблиц, доступных пользователю, зависит:

  1. от версии СУБД MySQL

  2. от того, каким образом они настраивались при создании сервера

  3. от параметров, с кот. он был запущен.

Типы таблиц:

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);