Сессии в PHP
Состав работы
|
|
|
|
Необходимые программы
Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
В разнообразных конференциях, посвященных программированию меня в первую очередь всегда интересуют такие разделы, как "Web-программирование" и "Скрипты". По большей части, вопросы о PHP в таких форумах довольно простые, требующие лишь общего понимания PHP, тем не менее, самый часто задаваемый вопрос по моим наблюдениям, это: "Что такое сессии в PHP и с чем/как их можно кушать?". Хотелось бы разъяснить этот вопрос раз и навсегда.
С самого начала PHP все приняли на ура, но как только на этом языке стали создавать достаточно крупные проекты, разработчики столкнулись с новой проблемой - в PHP отсутствовало понятие глобальных переменных! То есть, выполнялся некий скрипт, посылал сгенерированную страницу клиенту, и все ресурсы, используемые этим скриптом уничтожались. Попробую проиллюстрировать: предположим есть две страницы одного сайта, index.php и dothings.php. Исходники к этим страницам выглядят так:
- index.php -
<?php
$a = "Меня задали на index.php";
?>
<html><body>
<?php
echo $a;
?>
</body></html>
- dothings.php -
<html><body>
<?php
echo $a;
?>
</body></html>
Если выполнить эти два скрипта, то на первой странице мы увидим надпись "Меня задали на index.php", а вторая страница будет пустой.
Разработчики web-сайтов, недолго думая, стали использовать cookie для хранения глобальных переменных на стороне клиента. Процесс выглядел примерно так: пользователь приходит на главную страницу сайта, делает какие-то действия, и вся информация, связанная с этим пользователем, которая может потребоваться на других страницах сайта, будет храниться у него в браузере в виде cookie. Этот метод меет довольно серьезные минусы, из-за которых от PHP в своё время отвернулось немало разработчиков. Например, нам нужно авторизовать пользователя, чтобы разрешить ему доступ к закрытым (или принадлежащим только ему) разделам сайта. Придёться <кидать> пользователю cookie, который будет служит его последующим идентификатором на сайте. Такой подход становится очень громоздким и не удобным, как только сайт начинает собирать всё больше и больше сведений о поведении пользователя, ведь всю информацию, посылаемую пользователю, желательно кодировать, чтобы её нельзя было подделать. Ещё совсем недавно подделкой cookie можно было <повалить> не один чат, а порой и пробраться в чужую почту. К тому же есть ещё на свете странные люди, у которых браузер cookie не поддерживает.
При использовании сессий вся информация хранится не на стороне клиента, а на стороне сервера, и потому лучше защищена от манипуляций злоумышленников. Да и работать с сессиями куда проще и удобнее, так как все данные автоматически проходят через алгоритмы криптографии модуля PHP. В броузере клиента, лишь хранится уникальный идентификатор номера сессии, либо в форме cookie, либо в виде переменной в адресной строке броузера, какой из двух способов использовать для передачи идентификатора сессии между страницами интерпретатор PHPвыбирает сам. Это на 100 безопасно, так как идентификатор сессии уникален, и подделать его практически невозможно (об этом чуть далее, в разделе о безопасности сессий).
С самого начала PHP все приняли на ура, но как только на этом языке стали создавать достаточно крупные проекты, разработчики столкнулись с новой проблемой - в PHP отсутствовало понятие глобальных переменных! То есть, выполнялся некий скрипт, посылал сгенерированную страницу клиенту, и все ресурсы, используемые этим скриптом уничтожались. Попробую проиллюстрировать: предположим есть две страницы одного сайта, index.php и dothings.php. Исходники к этим страницам выглядят так:
- index.php -
<?php
$a = "Меня задали на index.php";
?>
<html><body>
<?php
echo $a;
?>
</body></html>
- dothings.php -
<html><body>
<?php
echo $a;
?>
</body></html>
Если выполнить эти два скрипта, то на первой странице мы увидим надпись "Меня задали на index.php", а вторая страница будет пустой.
Разработчики web-сайтов, недолго думая, стали использовать cookie для хранения глобальных переменных на стороне клиента. Процесс выглядел примерно так: пользователь приходит на главную страницу сайта, делает какие-то действия, и вся информация, связанная с этим пользователем, которая может потребоваться на других страницах сайта, будет храниться у него в браузере в виде cookie. Этот метод меет довольно серьезные минусы, из-за которых от PHP в своё время отвернулось немало разработчиков. Например, нам нужно авторизовать пользователя, чтобы разрешить ему доступ к закрытым (или принадлежащим только ему) разделам сайта. Придёться <кидать> пользователю cookie, который будет служит его последующим идентификатором на сайте. Такой подход становится очень громоздким и не удобным, как только сайт начинает собирать всё больше и больше сведений о поведении пользователя, ведь всю информацию, посылаемую пользователю, желательно кодировать, чтобы её нельзя было подделать. Ещё совсем недавно подделкой cookie можно было <повалить> не один чат, а порой и пробраться в чужую почту. К тому же есть ещё на свете странные люди, у которых браузер cookie не поддерживает.
При использовании сессий вся информация хранится не на стороне клиента, а на стороне сервера, и потому лучше защищена от манипуляций злоумышленников. Да и работать с сессиями куда проще и удобнее, так как все данные автоматически проходят через алгоритмы криптографии модуля PHP. В броузере клиента, лишь хранится уникальный идентификатор номера сессии, либо в форме cookie, либо в виде переменной в адресной строке броузера, какой из двух способов использовать для передачи идентификатора сессии между страницами интерпретатор PHPвыбирает сам. Это на 100 безопасно, так как идентификатор сессии уникален, и подделать его практически невозможно (об этом чуть далее, в разделе о безопасности сессий).
Другие работы
Презентация: О некоторых проблемах в реализации инвестиционных программ в электроэнергетике
Aronitue9
: 20 августа 2012
Копсов Анатолий Яковлевич, Генеральный директор ОАО «Энел ОГК-5»
1.В результате реформы электроэнергетики дочерние компании ОАО РАО "ЕЭС России" были разделены по видам бизнеса и объединены в новые. РАО "ЕЭС" удалось продать госпакеты акций и разместить допэмиссии практически всех активов, в отношении которых планировалось это сделать. В результате были привлечены частные стратегические инвесторы, в том числе и иностранные, а также значительные средства для реализации инвестпрограмм генерирующих
20 руб.
Электроснабжение конфетного цеха кондитерской фабрики
marik21
: 20 августа 2010
Основной деятельностью данного предприятия является выпуск кондитерских изделий. Как было указано выше данное производство располагается в трех цехах. Для технологического процесса характерна поточность, то есть непосредственно в цехах создаются целые линии по производству какого либо вида продукции.
Процесс приготовления заключается в варке конфетной массы из приготовленного и очищенного сырья в варочных котлах. Затем она отправляется на поточные автоматизированные линии, где происходит формовк
«Бюджетное планирование и исполнение бюджетов»
Infanta
: 16 мая 2019
ЧАСТЬ 1
ВОПРОС 1
Если Правительством РФ принято решение о повышении ставки НДФЛ местного налога с 2016 года – какое влияние на доходы местного бюджета это может оказать: СФОРМУЛИРУЙТЕ НЕ МЕНЕЕ 2 ВАРИАНТОВ и поясните ответ.
ВОПРОС 2
Принцип системности планирования: если Президентом РФ была поставлена задача существенного роста расходов на здравоохранение, каким образом это должно отразиться на бюджетах субъектов РФ и муниципальных образований?
ВОПРОС 3
Если в плановом периоде ожидается увелич
120 руб.
Типология государства: понятие, основные подходы
Алёна51
: 10 октября 2017
Введение 3
1. Теоретические аспекты типологии государства 5
1.1 Эволюция типологии государственной организации 5
1.2 Типология государства: сущность и содержание 16
2. Типологические признаки (факторы) Российского государства и права на современном этап 25
3. Дискуссионные проблемы типологии государства 32
Заключение 35
Список использованной литературы 37
100 руб.