Похожие презентации:
PHP+Web-сервер
1.
PHP, Cookies и т.д.vk.com/web_dev_courses
web.dev.courses.dp.ua/ort/
2.
PHP+Web-серверОдна из возможностей web-сервера – поддержка сеанса работы с пользователем.
Cookie-файлы
Данные о пользователе хранятся в
бразуере и передаются серверу при
каждом обращении.
Данные подвержены
подделке.
хищению,
Сессии (session)
Данные о пользователе хранятся на
сервере, бразуер передаёт серверу
лишь идентификатор сессии (к
которой привязаны данные).
Данные не подвержены хищению,
подделке.
Идентификатор сессии хранится в
cookie-файле или в URL.
Оба варианта поддержки сеанса работы с пользователем следует рассматривать
как временное хранение данных о пользователе. И исходить из того, что эти
данные могут быть утеряны в любой момент времени.
2
3.
PHP+Web-сервер, cookie-файлыindex.php
DENWER => /home/aaa.dp.ua/www
3
4.
Cookie-файлы (упрощенный пример)index.php
DENWER => /home/aaa.dp.ua/www
4
5.
PHP+Web-сервер, cookie-файлы5
6.
PHP+Web-сервер, cookie-файлы6
7.
Опять проблемы скодировкой
8.
КодировкаУстанавливали спец. маркер UTF-8 BOM, чтобы
браузер понял в какой кодировке файл.
8
9.
Кодировкаwindows-cp1251 ?
utf-8 ???
KOI-8R ??
Когда браузер открывает файл с файловой системы (т.е. не через вебсервер), то возможностей узнать кодировку файла, у браузера, не много:
либо получить информацию из самого файла, либо попытаться угадать.
Пути получения данных кодировки на основе данных из самого файла.
9
10.
Кодировкаcharset=utf-8
Когда браузер получает файл от веб-сервера, то у сервера есть
возможность приоритетно указать кодировку тех файлов которые
передаются сервером.
кодировка от сервера == кодировка файла == кодировка документа
Кодировка сервера, файла и документа должны совпадать, иначе возникает
ситуация неоднозначности, принятие решения остаётся за браузером. 10
11.
HTTP запрос, HTTP ответЗаголовки передаются клиенту до отправки содержимого. Если заголовок уже
11
отправлен добавить в него что-то в уже нельзя.
12.
HTTP запрос, HTTP ответ1.
2.
Сначала передаётся заголовок, потом передаётся тело документа.
12
13.
HTTP запрос, HTTP ответCookie передаётся в заголовке.
13
14.
HTTP запрос, HTTP ответЛюбые символы до начала «php-тега» заставляют сервер
оформить и отправить заголовок пользователю. Тем
самым лишая возможности добавить в него что-то.
14
15.
HTTP запрос, HTTP ответПочему возникли проблемы c примером???
15
16.
HTTP запрос, HTTP ответФайл без BOM
Файл c BOM
Любые символы до начала «php-тега» заставляют сервер
оформить и отправить заголовок пользователю. Тем
самым лишая возможности добавить в него что-то.
16
17.
HTTP запрос, HTTP ответСообщение об ошибке, заключающейся в том, что первый
байты файла переданы клиенту, и теперь внести в
заголовок данные о cookie уже нельзя.
17
18.
HTTP запрос, HTTP ответЛадно, сохраняем файл в формате без ВОМ.
Почему?
Потому что сервер «утверждает» что это файл в кодировке
1251, хотя на самом деле он в utf-8. Возникает
18
неоднозначность, поведение браузера нерегалментировано.
19.
HTTP запрос, HTTP ответНеобходимо указать серверу, какую кодировку
необходимо писать в заголовке ответа.
19
20.
HTTP запрос, HTTP ответ20
21.
Что делать?22.
PHP+Web-сервер, cookie-файлыindex.php
DENWER => /home/aaa.dp.ua/www
Сохранит в кодировке UTF-8 без метки BOM!!!
22
23.
PHP+Web-сервер, cookie-файлыindex.php
DENWER => /home/aaa.dp.ua/www
Сохранит в кодировке UTF-8 без метки BOM!!!
23
24.
Сборка файлов25.
Сборка файловindex.php
DENWER => /home/aaa.dp.ua/www
file_1.php
DENWER => /home/aaa.dp.ua/www
file_2.php
DENWER => /home/aaa.dp.ua/www
25
26.
Сборка файловСтруктура файлов
26
27.
Сборка файловfile_1.php
file_2.php
После подключения всех других файлов
27
28.
Сборка файлов28
29.
Сборка файлов (второй вариант)index.php
file.php
DENWER => /home/aaa.dp.ua/www
DENWER => /home/aaa.dp.ua/www
29
30.
Сборка файлов (второй вариант)file.php
После подключения файла
30
31.
Сборка файлов (второй вариант)31
32.
Простейший чатindex.php
DENWER => /home/aaa.dp.ua/www
32
33.
Простейший чат+ (самообновляющийся)index.php
DENWER => /home/aaa.dp.ua/www
33
34.
PHPhttp://www.w3schools.com/php/
34