Презентация Архитектура 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
- Автор:неизвестен
Слайды и текст к этой презентации:
№2 слайд
![Основные функции клиента и](/documents_6/a10f33f4970f14c83fe899ed239a015f/img1.jpg)
Содержание слайда: Основные функции клиента и сервера:
Клиент:
Принимает и проверяет синтаксис вводимого запроса
Генерирует запрос и передает его БД
Отображает полученные данные
Сервер:
Принимает и обрабатывает запросы от клиентов
Проверяет полномочия пользователей
Гарантирует соблюдение ограничений целостности
Выполняет запросы и возвращает результаты клиенту
Обеспечивает параллельный доступ к БД
Обеспечивает управление восстановлением информации
№4 слайд
![Архитектура Web-баз данных](/documents_6/a10f33f4970f14c83fe899ed239a015f/img3.jpg)
Содержание слайда: Архитектура Web-баз данных
Типичная транзакция Web-базы данных состоит из следующих этапов:
1. Web-браузер пользователя отправляет HTTP-запрос определенной Web-страницы
2. Web-сервер принимает запрос, получает файл со сценарием и передает его механизму РНР на обработку.
3. Механизм РНР начинает синтаксический анализ сценария. Если в сценарии присутствует команда подключения к базе данных и выполнения запроса в ней. РНР открыв йает соединение с сервером MySQL и отправляет необходимый запрос.
4. Сервер MySQL принимает запрос в базу данных, обрабатывает его, а затем отправляет результаты — в данном случае, обратно в механизм РНР.
5. Механизм РНР завершает выполнение сценария, форматируя результаты запроса в виде HTML, после чего отправляет результаты в HTML-формате Web-серверу.
6. Web-сервер пересылает HTML в браузер, с помощью которого пользователь просматривает результат выполнения запроса.
№7 слайд
![Установка соединения db mysql](/documents_6/a10f33f4970f14c83fe899ed239a015f/img6.jpg)
Содержание слайда: Установка соединения
$db = mysql_pconnect("localhost", "user_name", “user_pass");
В случае успеха функция вернет идентификатор связи с базой данных (который следует сохранить для дальнейшего использования), а в случае неудачи — значение false.
if (!$db)
{
echo " Ошибка: Нет соединения с базой данных.";
exit;
}
- mysql_connect()
- mysql_close().
№10 слайд
![Получение результатов запроса](/documents_6/a10f33f4970f14c83fe899ed239a015f/img9.jpg)
Содержание слайда: Получение результатов запроса
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](/documents_6/a10f33f4970f14c83fe899ed239a015f/img10.jpg)
Содержание слайда: $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 слайд
![Внесение новой информации в](/documents_6/a10f33f4970f14c83fe899ed239a015f/img11.jpg)
Содержание слайда: Внесение новой информации в базу данных
- установить соединение
- отправить запрос
- проверить результаты
$isbn = addslashes ($isbn) ;
$author = addslashes ($author) ;
$title = addslashes ($title) ;
$price = doubleval ($price) ;
doubleval() - принимает в качестве аргумента переменную и возвращает значение, преобразованное к типу double;
intval() - принимает в качестве аргумента переменную и возвращает значение, преобразованное к типу integer;
strval() - принимает в качестве аргумента переменную и возвращает значение, преобразованное к типу string;
№13 слайд
![настраиваем запрос, в данном](/documents_6/a10f33f4970f14c83fe899ed239a015f/img12.jpg)
Содержание слайда: настраиваем запрос, в данном случае это INSERT:
настраиваем запрос, в данном случае это INSERT:
$query = "insert into books values (' ".$isbn." ', ' ".$author." ', ' ''.$title." ', ' ".$price" ' ) ";
$result = mysql_query($query);
mysql_affected_rows() - возвращает количество рядов, задействованных в последнем запросе INSERT, UPDATE или DELETE
№15 слайд
![Код извлечения данных из базы](/documents_6/a10f33f4970f14c83fe899ed239a015f/img14.jpg)
Содержание слайда: Код извлечения данных из базы с выводом их на экран
<?
$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 слайд
![Внесение данных через форму](/documents_6/a10f33f4970f14c83fe899ed239a015f/img15.jpg)
Содержание слайда: Внесение данных через форму обратно в базу
<?
$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](/documents_6/a10f33f4970f14c83fe899ed239a015f/img16.jpg)
Содержание слайда: <?
<?
$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 – значение с плавающей точкой и др.
№19 слайд
![if ! id if ! id result mysql](/documents_6/a10f33f4970f14c83fe899ed239a015f/img18.jpg)
Содержание слайда: 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 слайд
![Методика настройки базы](/documents_6/a10f33f4970f14c83fe899ed239a015f/img19.jpg)
Содержание слайда: Методика настройки базы данных MySQL для использования на Web-сайте
1. Проведена базовая установка MySQL на Web-сервере, которая включает в себя:
• Установку файлов
• Установку пользователя MySQL
• Настройку
• Установку пароля для пользователя root (желательно)
• Запуск сервера MySQL
2. Имеется доступ к MySQL.
№21 слайд
![Создание баз данных и](/documents_6/a10f33f4970f14c83fe899ed239a015f/img20.jpg)
Содержание слайда: Создание баз данных и подключение пользователей
Создание баз данных и подключение пользователей
Система баз данных MySQL может поддерживать множество различных баз данных. Обычно, на одно приложение существует одна база данных.
Создание базы данных с использованием PHPmyAdmin.
№29 слайд
![Скрипты размещены на сервере](/documents_6/a10f33f4970f14c83fe899ed239a015f/img28.jpg)
Содержание слайда: Скрипты размещены на сервере в директории home/localhost/www;
Скрипты размещены на сервере в директории home/localhost/www;
база данных находится в директории mysql/data, где каждая таблица представляется файлами формата
*.MYI - индексы,
*.MYD – данные,
*.frm - структура таблицы.
№31 слайд
![Система привилегий MySQL](/documents_6/a10f33f4970f14c83fe899ed239a015f/img30.jpg)
Содержание слайда: Система привилегий MySQL
Система привилегий MySQL
Одна из лучших характеристик MySQL заключается в поддержке сложных систем привилегий.
Привилегия — это право определенного пользователя выполнять определенное действие над определенным объектом.
При подключении пользователя к MySQL, ему даются определенные права, которые обозначают, что пользователь может делать в системе, а что ему запрещено.
№32 слайд
![Как MySQL использует таблицы](/documents_6/a10f33f4970f14c83fe899ed239a015f/img31.jpg)
Содержание слайда: Как MySQL использует таблицы привилегий (БД mysql)
Таблица user предназначена для определения, может ли пользователь подключаться к серверу MySQL и обладает ли он привилегиями администратора. Таблицы db и host определяют, к каким базам данных пользователь может иметь доступ. Таблица tables_priv — какие таблицы в базе данных разрешается использовать, a таблица columns_priv — к каким столбцам в таблицах имеется доступ.
№34 слайд
![. Проверка соединения. На](/documents_6/a10f33f4970f14c83fe899ed239a015f/img33.jpg)
Содержание слайда: 1. Проверка соединения. На этом этапе MySQL проверяет, есть ли у вас право подключаться, исходя из данных таблицы user. Используется информация об имени пользователя, хосте и пароле (если поле имени пользователя пусто, значит, подходит любое имя пользователя).
1. Проверка соединения. На этом этапе MySQL проверяет, есть ли у вас право подключаться, исходя из данных таблицы user. Используется информация об имени пользователя, хосте и пароле (если поле имени пользователя пусто, значит, подходит любое имя пользователя).
№36 слайд
![. Подтверждение запроса. .](/documents_6/a10f33f4970f14c83fe899ed239a015f/img35.jpg)
Содержание слайда: 2. Подтверждение запроса.
2. Подтверждение запроса.
Всякий раз когда соединение уже установлено и запрос отправлен, MySQL проверяет, есть ли у вас необходимый уровень привилегий для выполнения такого запроса. Система начинает с проверки глобальных при-вилегий (по таблице user), и если их недостаточно, проверяет таблицы db и host. Если привилегий все равно не хватает, MySQL проверит таблицу table_priv и, в конце концов, таблицу columns_priv.
№41 слайд
![После редактировании](/documents_6/a10f33f4970f14c83fe899ed239a015f/img40.jpg)
Содержание слайда: После редактировании привилегий, необходимо сообщить серверу, что произошли изменения - для этого необходимо перезагрузить сервер.
После редактировании привилегий, необходимо сообщить серверу, что произошли изменения - для этого необходимо перезагрузить сервер.
После этого при следующем подключении пользователя будут проверяться его привилегии глобального уровня; привилегии уровня базы данных будут проверяться при встрече функции mysql_select_db( ), а привилегии уровня таблицы и столбцов — при новом запросе пользователя.
№42 слайд
![Обеспечение безопасности баз](/documents_6/a10f33f4970f14c83fe899ed239a015f/img41.jpg)
Содержание слайда: Обеспечение безопасности баз данных MySQL
Пароли
Пароль пользователя должен быть сохранен в РНР сценариях, используемых для подключения к базам данных. Это можно сделать безопасно, если поместить имя пользователя и пароль в файл с названием, например, dbconnect.php, который будет включаться по мере необходимости.
№44 слайд
![RELOAD - позволяет](/documents_6/a10f33f4970f14c83fe899ed239a015f/img43.jpg)
Содержание слайда: RELOAD - позволяет администратору перезагружать таблицы привилегий и подавлять привилегии, хосты и таблицы.
RELOAD - позволяет администратору перезагружать таблицы привилегий и подавлять привилегии, хосты и таблицы.
SHUTDOWN - позволяет администратору останавливать сервер MySQL.
PROCESS - позволяет администратору просматривать и удалять процессы на сервере.
FILE - позволяет помещать в таблицы данные из файлов и наоборот.
№45 слайд
![SELECT таблицам, столбцам -](/documents_6/a10f33f4970f14c83fe899ed239a015f/img44.jpg)
Содержание слайда: SELECT ( таблицам, столбцам ) - разрешает пользователям выбирать строки (записи) в таблицах.
SELECT ( таблицам, столбцам ) - разрешает пользователям выбирать строки (записи) в таблицах.
INSERT ( таблицам, столбцам ) - разрешает пользователям вставлять новые строки в таблицы.
UPDATE ( таблицам, столбцам ) - разрешает пользователям изменять значения в существующих строках таблиц.
DELETE (таблицам ) - разрешает пользователям удалять существующие строки в таблицах.
INDEX (таблицам ) - разрешает пользователям создавать и удалять индексы определенных таблиц.
ALTER (таблицам ) - разрешает пользователям изменять структуру существующих таблиц, добавляя столбцы, переименовывая столбцы или таблицы и изменяя тип данных в столбцах.
CREATE (базам данных, таблицам ) - разрешает пользователям создавать новые базы
данных или таблицы.
DROP (базам данных, таблицам ) - разрешает пользователям удалять базы данных или
таблицы
ALL - предоставляет все привилегии (можно также написать ALL PRIVILEGES).
USAGE - не предоставляет никаких привилегий. Подобным образом можно
подключить пользователя, дать ему возможность входить в систему, но без
разрешения что-либо делать.
№46 слайд
![При создании пользователя](/documents_6/a10f33f4970f14c83fe899ed239a015f/img45.jpg)
Содержание слайда: При создании пользователя специально для Web-соединений - ему можно выдать минимум необходимых привилегий, не предоставляя возможности выполнять DROP, ALTER и CREATE.
При создании пользователя специально для Web-соединений - ему можно выдать минимум необходимых привилегий, не предоставляя возможности выполнять DROP, ALTER и CREATE.
Кроме того, необходимо проверять данные, исходящие от пользователя и размер данных.
№47 слайд
![Реализация контроля доступа](/documents_6/a10f33f4970f14c83fe899ed239a015f/img46.jpg)
Содержание слайда: Реализация контроля доступа
<?
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.”;
}
?>
№49 слайд
![Запрос к базе данных , чтобы](/documents_6/a10f33f4970f14c83fe899ed239a015f/img48.jpg)
Содержание слайда: // Запрос к базе данных , чтобы проверить, существует ли соответствующая запись
$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](/documents_6/a10f33f4970f14c83fe899ed239a015f/img49.jpg)
Содержание слайда: 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' ;
№52 слайд
![Хеш-функцией называется такое](/documents_6/a10f33f4970f14c83fe899ed239a015f/img51.jpg)
Содержание слайда: Хеш-функцией называется такое математическое или алгоритмическое преобразование заданного блока данных, которое обладает следующими свойствами:
Хеш-функцией называется такое математическое или алгоритмическое преобразование заданного блока данных, которое обладает следующими свойствами:
- хеш-функция имеет бесконечную область определения,
- хеш-функция имеет конечную область значений,
она необратима,
- изменение входного потока информации на один бит меняет около половины всех бит выходного потока, то есть результата хеш-функции.
№53 слайд
![PHP-функция crypt](/documents_6/a10f33f4970f14c83fe899ed239a015f/img52.jpg)
Содержание слайда: PHP-функция crypt() представляет собой однонаправленную криптографическую хэш-функцию:
PHP-функция crypt() представляет собой однонаправленную криптографическую хэш-функцию:
string crypt (string str [ , string salt ] )
Получив на входе строку str, эта функция возвращает псевдослучайную строку.
Например, если передать в функцию строку "pass" и аргумент salt равный "хх",
то crypt( ) вернет строку "xxkTlmYjIikoII".
№55 слайд
![Для кодирования имен и](/documents_6/a10f33f4970f14c83fe899ed239a015f/img54.jpg)
Содержание слайда: Для кодирования имен и паролей посетителей следует организовать отдельный файл или базу данных.
Для кодирования имен и паролей посетителей следует организовать отдельный файл или базу данных.
Если для хранения данных аутентификации используется база данных MySQL, можно воспользоваться
PHP-функцией crypt() или MySQL-функцией password(). Результат этих функций не совпадает, но они имеют одно предназначение.
Обе функции — crypt() и password() — получают строку как аргумент и применяют к полученной строке необращаемый алгоритм хэширования.
№58 слайд
![lt ?php string PHP amp](/documents_6/a10f33f4970f14c83fe899ed239a015f/img57.jpg)
Содержание слайда: <?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 одним архивом:
Похожие презентации
-
Базовые типы данных языков программирования высокого уровня. Лекция 3
-
Работа с базой данных в языке Java. (Лекция 7)
-
Базовые типы данных языков программирования высокого уровня
-
Классификация структур данных. Лекция 2
-
Cписки и другие абстрактные типы данных. Лекция 8
-
Назначение и возможности языка PHP. Переменные, константы и типы данных РНР. Лекция 1
-
Простые типы данных языка С. Лекция 3
-
Язык C. Введение. Базовые типы данных. Консоль. Классы и методы
-
Web-программирование. Лекция 2. Шаблоны проектирования
-
Основы программирования ФИСТ. Двухмерные массивы. Базовые алгоритмы. Лекция 10