Презентация Архитектура Web-баз данных. Лекция 3. 19 онлайн

На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Архитектура Web-баз данных. Лекция 3. 19 абсолютно бесплатно. Урок-презентация на эту тему содержит всего 58 слайдов. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Архитектура Web-баз данных. Лекция 3. 19



Оцените!
Оцените презентацию от 1 до 5 баллов!
  • Тип файла:
    ppt / pptx (powerpoint)
  • Всего слайдов:
    58 слайдов
  • Для класса:
    1,2,3,4,5,6,7,8,9,10,11
  • Размер файла:
    2.11 MB
  • Просмотров:
    83
  • Скачиваний:
    0
  • Автор:
    неизвестен



Слайды и текст к этой презентации:

№1 слайд
Лекция Архитектура Web-баз
Содержание слайда: Лекция Архитектура Web-баз данных.

№2 слайд
Основные функции клиента и
Содержание слайда: Основные функции клиента и сервера: Клиент: Принимает и проверяет синтаксис вводимого запроса Генерирует запрос и передает его БД Отображает полученные данные Сервер: Принимает и обрабатывает запросы от клиентов Проверяет полномочия пользователей Гарантирует соблюдение ограничений целостности Выполняет запросы и возвращает результаты клиенту Обеспечивает параллельный доступ к БД Обеспечивает управление восстановлением информации

№3 слайд
quot Клиент-серверная quot
Содержание слайда: "Клиент-серверная" архитектура: трехзвенная

№4 слайд
Архитектура Web-баз данных
Содержание слайда: Архитектура Web-баз данных Типичная транзакция Web-базы данных состоит из следующих этапов: 1. Web-браузер пользователя отправляет HTTP-запрос определенной Web-страницы 2. Web-сервер принимает запрос, получает файл со сценарием и передает его механизму РНР на обработку. 3. Механизм РНР начинает синтаксический анализ сценария. Если в сценарии присутствует команда подключения к базе данных и выполнения запроса в ней. РНР открыв йает соединение с сервером MySQL и отправляет необходимый запрос. 4. Сервер MySQL принимает запрос в базу данных, обрабатывает его, а затем отправляет результаты — в данном случае, обратно в механизм РНР. 5. Механизм РНР завершает выполнение сценария, форматируя результаты запроса в виде HTML, после чего отправляет результаты в HTML-формате Web-серверу. 6. Web-сервер пересылает HTML в браузер, с помощью которого пользователь просматривает результат выполнения запроса.

№5 слайд
. Проверка и фильтрация
Содержание слайда: 1. Проверка и фильтрация данных, исходящих от пользователя. 2. Установка соединения с требуемой базой данных. 3. Передача запроса в базу данных. 4. Получение результатов. 5. Представление результатов пользователю.

№6 слайд
Проверка и фильтрация данных,
Содержание слайда: Проверка и фильтрация данных, исходящих от пользователя - trim($searchterm); - if (!$searchtype | | !$searchterm) { echo " Вы не ввели поисковые детали. Попробуйте еще раз." ; exit; } addslashes() stripslashes() $searchterm = addslashes ($searchterm)

№7 слайд
Установка соединения db mysql
Содержание слайда: Установка соединения $db = mysql_pconnect("localhost", "user_name", “user_pass"); В случае успеха функция вернет идентификатор связи с базой данных (который следует сохранить для дальнейшего использования), а в случае неудачи — значение false. if (!$db) { echo " Ошибка: Нет соединения с базой данных."; exit; } - mysql_connect() - mysql_close().

№8 слайд
Выбор базы данных int mysql
Содержание слайда: Выбор базы данных int mysql_select_db (string database, [int database_connection] ) database –имя базы данных database_connection – идентификатор соединения с сервером

№9 слайд
Выполнение запроса к базе
Содержание слайда: Выполнение запроса к базе данных Настройка запроса: $query = "select * from $userstable where $searchtype like'%$searchterm%'" ; Выполнение запроса: $result = mysql_query ($query); - int mysql_db_query(string database, string query, [int database_connection] ) ;

№10 слайд
Получение результатов запроса
Содержание слайда: Получение результатов запроса mysql_num_rows()- возвращает количество строк, которые возвращает запрос; mysql_fetch_array() - возвращает каждую строку в виде ассоциативного массива; mysql_fetch_row() – возвращает нумерованный массив; $row = mysql_fetch_array($result) ; Имея $row в ассоциативном массиве, можно пройти каждое поле и должным образом его отобразить, например, $row[‘title’], $row[‘autor’] и т.д., при этом функцию stripslashes() вызывают для того, чтобы "подчистить" значение, прежде чем отображать его пользователю. $row = mysql_fetch_row($result); Значения атрибутов будут храниться в каждом порядковом значении $row[0], $row[l] и т.д.

№11 слайд
row mysql fetch object result
Содержание слайда: $row = mysql_fetch_object($result); $row = mysql_fetch_object($result); После этого к каждому атрибуту можно получить доступ через $row->title, $row->author и т.д. Каждый из этих вариантов подразумевает выборку строки за один раз. Другой вариант — получить доступ, используя mysql_result(). Для этого потребуется указать номер строки (от 0 до количества строк минус 1) и название поля, например: $row = mysql_result($result, $i, "title"); Название поля можно задать в виде строки (либо в форме "title" либо в форме "books.title") или номером (как в mysql_fetch_row()).

№12 слайд
Внесение новой информации в
Содержание слайда: Внесение новой информации в базу данных - установить соединение - отправить запрос - проверить результаты $isbn = addslashes ($isbn) ; $author = addslashes ($author) ; $title = addslashes ($title) ; $price = doubleval ($price) ; doubleval() - принимает в качестве аргумента переменную и возвращает значение, преобразованное к типу double; intval() - принимает в качестве аргумента переменную и возвращает значение, преобразованное к типу integer; strval() - принимает в качестве аргумента переменную и возвращает значение, преобразованное к типу string;

№13 слайд
настраиваем запрос, в данном
Содержание слайда: настраиваем запрос, в данном случае это INSERT: настраиваем запрос, в данном случае это INSERT: $query = "insert into books values (' ".$isbn." ', ' ".$author." ', ' ''.$title." ', ' ".$price" ' ) "; $result = mysql_query($query); mysql_affected_rows() - возвращает количество рядов, задействованных в последнем запросе INSERT, UPDATE или DELETE

№14 слайд
Изменение данных Изменение
Содержание слайда: Изменение данных Изменение данных, находящихся в базе сочетает в себе два этапа: - извлечение данных из базы с выводом их на экран; - внесение данных через форму обратно в базу.

№15 слайд
Код извлечения данных из базы
Содержание слайда: Код извлечения данных из базы с выводом их на экран <? $db=mysql_pconnect ( "localhost", "root" ) ; mysql_select_db("books") ; if ($id) { $query = "SELECT * FROM book WHERE id=$id" ; $result = mysql_query ($query) ; $myrow = mysql_fetch_array($result); ?> <form method = "post" action= "<? echo $PHP_SELF ?> "> <input type=hidden name ="id" value = "<? echo $myrow ["id"] ?> " > Автор:<input type = "Text " name ="autor" value = "<? echo $myrow["autor"] ?> " ><br> Название : <input type= "Text" name = "title" value=" <? echo $myrow ["title"] ?>" > <br> ISBN : <input type = "Text" name= "isbn" value = " <? echo $myrow["isbn"] ?> "> <br> Цена : <input type ="Text" name = "price" value = "<? echo $myrow ["price"] ?> "> <br> <input type="Submit" name="change" value ="изменить"> </form>

№16 слайд
Внесение данных через форму
Содержание слайда: Внесение данных через форму обратно в базу <? $db=mysql_pconnect ( "localhost", "root" ) ; mysql_select_db("books") ; if ($id) { if ($submit) { $query = "UPDATE book SET autor= '$autor', title = '$title', price ='$price ', isbn = '$isbn' WHERE id=$id" ; $result = mysql_query($query) ; echo "Information updated.\ n " ; } ………….. ?>

№17 слайд
lt ? lt ? result mysql query
Содержание слайда: <? <? $result = mysql_query("SELECT * FROM book"); while ($myrow = mysql_fetch_array($result)) { printf("<a href =\" %s ? id =%s \"> %s %s</a><br>\n", $PHP_SELF, $myrow["id"], $myrow["autor"], $myrow["title"]); } } ?> Возможные спецификаторы: %d – целочисленное значение %f – значение с плавающей точкой и др.

№18 слайд
Удаление данных из базы if
Содержание слайда: Удаление данных из базы …………… if ($delete) { $query = "DELETE FROM book WHERE id=$id" ; $result = mysql_query( $query) ; echo " Record deleted!" ; } …………………

№19 слайд
if ! id if ! id result mysql
Содержание слайда: if ( !$id ) { if ( !$id ) { $result = mysql_query( "SELECT * FROM book" ) ; while ($myrow = mysql_fetch_array( $result) ) { printf( " <a href =\" %s ? id = % s \" > %s %s %s %s </a> \n" , $PHP_SELF, $myrow["id"], $myrow["autor"] , $myrow["title"], $myrow[“isbn”] , $myrow[“price”]) ; printf("<a href=\" %s ? id= %s & delete = yes\"> Удалить </a><br>" , $PHP_SELF, $myrow["id"]) ; } }

№20 слайд
Методика настройки базы
Содержание слайда: Методика настройки базы данных MySQL для использования на Web-сайте 1. Проведена базовая установка MySQL на Web-сервере, которая включает в себя: • Установку файлов • Установку пользователя MySQL • Настройку • Установку пароля для пользователя root (желательно) • Запуск сервера MySQL 2. Имеется доступ к MySQL.

№21 слайд
Создание баз данных и
Содержание слайда: Создание баз данных и подключение пользователей Создание баз данных и подключение пользователей Система баз данных MySQL может поддерживать множество различных баз данных. Обычно, на одно приложение существует одна база данных. Создание базы данных с использованием PHPmyAdmin.

№22 слайд
Содержание слайда:

№23 слайд
Содержание слайда:

№24 слайд
Содержание слайда:

№25 слайд
Содержание слайда:

№26 слайд
Содержание слайда:

№27 слайд
Содержание слайда:

№28 слайд
Содержание слайда:

№29 слайд
Скрипты размещены на сервере
Содержание слайда: Скрипты размещены на сервере в директории home/localhost/www; Скрипты размещены на сервере в директории home/localhost/www; база данных находится в директории mysql/data, где каждая таблица представляется файлами формата *.MYI - индексы, *.MYD – данные, *.frm - структура таблицы.

№30 слайд
Пользователи и привилегии
Содержание слайда: Пользователи и привилегии Пользователи и привилегии Система MySQL может содержать много пользователей. Каждый пользователь, которому необходимо работать в системе, должен получить учетную запись и пароль.

№31 слайд
Система привилегий MySQL
Содержание слайда: Система привилегий MySQL Система привилегий MySQL Одна из лучших характеристик MySQL заключается в поддержке сложных систем привилегий. Привилегия — это право определенного пользователя выполнять определенное действие над определенным объектом. При подключении пользователя к MySQL, ему даются определенные права, которые обозначают, что пользователь может делать в системе, а что ему запрещено.

№32 слайд
Как MySQL использует таблицы
Содержание слайда: Как MySQL использует таблицы привилегий (БД mysql) Таблица user предназначена для определения, может ли пользователь подключаться к серверу MySQL и обладает ли он привилегиями администратора. Таблицы db и host определяют, к каким базам данных пользователь может иметь доступ. Таблица tables_priv — какие таблицы в базе данных разрешается использовать, a таблица columns_priv — к каким столбцам в таблицах имеется доступ.

№33 слайд
Содержание слайда:

№34 слайд
. Проверка соединения. На
Содержание слайда: 1. Проверка соединения. На этом этапе MySQL проверяет, есть ли у вас право подключаться, исходя из данных таблицы user. Используется информация об имени пользователя, хосте и пароле (если поле имени пользователя пусто, значит, подходит любое имя пользователя). 1. Проверка соединения. На этом этапе MySQL проверяет, есть ли у вас право подключаться, исходя из данных таблицы user. Используется информация об имени пользователя, хосте и пароле (если поле имени пользователя пусто, значит, подходит любое имя пользователя).

№35 слайд
Содержание слайда:

№36 слайд
. Подтверждение запроса. .
Содержание слайда: 2. Подтверждение запроса. 2. Подтверждение запроса. Всякий раз когда соединение уже установлено и запрос отправлен, MySQL проверяет, есть ли у вас необходимый уровень привилегий для выполнения такого запроса. Система начинает с проверки глобальных при-вилегий (по таблице user), и если их недостаточно, проверяет таблицы db и host. Если привилегий все равно не хватает, MySQL проверит таблицу table_priv и, в конце концов, таблицу columns_priv.

№37 слайд
Содержание слайда:

№38 слайд
Содержание слайда:

№39 слайд
Содержание слайда:

№40 слайд
Содержание слайда:

№41 слайд
После редактировании
Содержание слайда: После редактировании привилегий, необходимо сообщить серверу, что произошли изменения - для этого необходимо перезагрузить сервер. После редактировании привилегий, необходимо сообщить серверу, что произошли изменения - для этого необходимо перезагрузить сервер. После этого при следующем подключении пользователя будут проверяться его привилегии глобального уровня; привилегии уровня базы данных будут проверяться при встрече функции mysql_select_db( ), а привилегии уровня таблицы и столбцов — при новом запросе пользователя.

№42 слайд
Обеспечение безопасности баз
Содержание слайда: Обеспечение безопасности баз данных MySQL Пароли Пароль пользователя должен быть сохранен в РНР сценариях, используемых для подключения к базам данных. Это можно сделать безопасно, если поместить имя пользователя и пароль в файл с названием, например, dbconnect.php, который будет включаться по мере необходимости.

№43 слайд
Привилегии пользователей
Содержание слайда: Привилегии пользователей Привилегии пользователей Один из способов повышения уровня безопасности - принцип наименьших привилегий. Не следует давать пользователю привилегий больше, чем необходимо. Это можно проверить, исследовав таблицы привилегий.

№44 слайд
RELOAD - позволяет
Содержание слайда: RELOAD - позволяет администратору перезагружать таблицы привилегий и подавлять привилегии, хосты и таблицы. RELOAD - позволяет администратору перезагружать таблицы привилегий и подавлять привилегии, хосты и таблицы. SHUTDOWN - позволяет администратору останавливать сервер MySQL. PROCESS - позволяет администратору просматривать и удалять процессы на сервере. FILE - позволяет помещать в таблицы данные из файлов и наоборот.

№45 слайд
SELECT таблицам, столбцам -
Содержание слайда: SELECT ( таблицам, столбцам ) - разрешает пользователям выбирать строки (записи) в таблицах. SELECT ( таблицам, столбцам ) - разрешает пользователям выбирать строки (записи) в таблицах. INSERT ( таблицам, столбцам ) - разрешает пользователям вставлять новые строки в таблицы. UPDATE ( таблицам, столбцам ) - разрешает пользователям изменять значения в существующих строках таблиц. DELETE (таблицам ) - разрешает пользователям удалять существующие строки в таблицах. INDEX (таблицам ) - разрешает пользователям создавать и удалять индексы определенных таблиц. ALTER (таблицам ) - разрешает пользователям изменять структуру существующих таблиц, добавляя столбцы, переименовывая столбцы или таблицы и изменяя тип данных в столбцах. CREATE (базам данных, таблицам ) - разрешает пользователям создавать новые базы данных или таблицы. DROP (базам данных, таблицам ) - разрешает пользователям удалять базы данных или таблицы ALL - предоставляет все привилегии (можно также написать ALL PRIVILEGES). USAGE - не предоставляет никаких привилегий. Подобным образом можно подключить пользователя, дать ему возможность входить в систему, но без разрешения что-либо делать.

№46 слайд
При создании пользователя
Содержание слайда: При создании пользователя специально для Web-соединений - ему можно выдать минимум необходимых привилегий, не предоставляя возможности выполнять DROP, ALTER и CREATE. При создании пользователя специально для Web-соединений - ему можно выдать минимум необходимых привилегий, не предоставляя возможности выполнять DROP, ALTER и CREATE. Кроме того, необходимо проверять данные, исходящие от пользователя и размер данных.

№47 слайд
Реализация контроля доступа
Содержание слайда: Реализация контроля доступа <? if(!isset($name)&& !isset ($password)){ ?> <hl>Flease Log In</hl> This page is secret. <form methоd=post action="secret.php"> User name <input type=text name=name> Password <input type=password name=password> <input type=submit value="LogIn"> </form> <? else if($name=="user" && $password=="pass") { // Комбинация имени и пароля посетителя правильная echo “welcome on a secret page.”; } ?>

№48 слайд
Хранение паролей Сценарий
Содержание слайда: Хранение паролей Сценарий Отдельный файл База данных

№49 слайд
Запрос к базе данных , чтобы
Содержание слайда: // Запрос к базе данных , чтобы проверить, существует ли соответствующая запись $query = " select count (*) from authors where name='$name ' and pass = '$password ' " ; $result =mysql_query($query); } $count = mysql_result ($result , 0, 0) ; if ( $count > 0) { echo " Добро пожаловать! " ; } e l se { e c h o " <hl >Неверный пароль! < / h1 >" ; } } ?>

№50 слайд
create database auth create
Содержание слайда: create database auth; create database auth; create table authors ( name varchar ( 10 ) not null , pass varchar( 30 ) not null , primary key ( name) ) ; insert into authors values ( 'user' , 'pass123' ) ; insert into authors values ( 'testuser' , password ( 'test123') ) ; grant select , insert , update , delete on authors . * to myuser@localhost identified by 'mypass12345' ;

№51 слайд
Шифрование паролей
Содержание слайда: Шифрование паролей Однонаправленный алгоритм хэширования обеспечит дополнительную защиту базы данных. Хеширование  — преобразование входного массива данных произвольной длины в выходную битовую строку фиксированной длины.

№52 слайд
Хеш-функцией называется такое
Содержание слайда: Хеш-функцией называется такое математическое или алгоритмическое преобразование заданного блока данных, которое обладает следующими свойствами: Хеш-функцией называется такое математическое или алгоритмическое преобразование заданного блока данных, которое обладает следующими свойствами: - хеш-функция имеет бесконечную область определения, - хеш-функция имеет конечную область значений, она необратима, - изменение входного потока информации на один бит меняет около половины всех бит выходного потока, то есть результата хеш-функции.

№53 слайд
PHP-функция crypt
Содержание слайда: PHP-функция crypt() представляет собой однонаправленную криптографическую хэш-функцию: PHP-функция crypt() представляет собой однонаправленную криптографическую хэш-функцию: string crypt (string str [ , string salt ] ) Получив на входе строку str, эта функция возвращает псевдослучайную строку. Например, если передать в функцию строку "pass" и аргумент salt равный "хх", то crypt( ) вернет строку "xxkTlmYjIikoII".

№54 слайд
Вместо PHP-кода Вместо
Содержание слайда: Вместо PHP-кода Вместо PHP-кода i f ( $username == "user" && $password = = "pass" ) { // Пароль совпадает } можно воспользоваться таким кодом if ( $username = ‘user ' && crypt ( $password, 'хх' )= ='xxkTlmYjIikoII') { / / Пароль совпадает }

№55 слайд
Для кодирования имен и
Содержание слайда: Для кодирования имен и паролей посетителей следует организовать отдельный файл или базу данных. Для кодирования имен и паролей посетителей следует организовать отдельный файл или базу данных. Если для хранения данных аутентификации используется база данных MySQL, можно воспользоваться PHP-функцией crypt() или MySQL-функцией password(). Результат этих функций не совпадает, но они имеют одно предназначение. Обе функции — crypt() и password() — получают строку как аргумент и применяют к полученной строке необращаемый алгоритм хэширования.

№56 слайд
В PHP можно генерировать хэши
Содержание слайда: В PHP можно генерировать хэши при В PHP можно генерировать хэши при помощи md5( )( message digest algorithm) или sha1( ) (sha-256 и sha-512 - secure hashing algorithm ), в первом случае получаем 128-битное значение (32 символа), во втором 160-битный (40 символов).

№57 слайд
Например, пароль pass имеет
Содержание слайда: Например, пароль «pass» имеет следующие хеши: Например, пароль «pass» имеет следующие хеши: $md5pass=1a1dc91c907325c69271ddf0c944bc72; $sha1pas=9d4e1e23bd5b727046a9e3b4b7db57bd8d6ee684;

№58 слайд
lt ?php string PHP amp
Содержание слайда: <?php $string = 'PHP & Information Security'; printf("Original string: %s\n", $string); printf("MD5 hash: %s\n", md5($string)); printf("SHA-1 hash: %s\n", sha1($string)); ?> <?php $string = 'PHP & Information Security'; printf("Original string: %s\n", $string); printf("MD5 hash: %s\n", md5($string)); printf("SHA-1 hash: %s\n", sha1($string)); ?> Original string: PHP & Information Security MD5 hash: 88dd8f282721af2c704e238e7f338c41 SHA-1 hash: b47210605096b9aa0129f88695e229ce309dd362

Скачать все slide презентации Архитектура Web-баз данных. Лекция 3. 19 одним архивом: