Управление на сесиите в PHP, част 1 въз основа на сесия бисквитки (продължение)
Въз основа на сесия бисквитки
PHP осигурява прилагането на механизъм за управление въз основа на сесия на бисквитки. $ _SESSION масив се използва за съхраняване на данни сесия. PHP автоматично генерира идентификатори на сесии и изпраща бисквитка, съдържаща идентификационните номера на клиенти. PHP функции за управление на сесиите, описани в таблицата по-долу.
Таблица 1: PHP функции за управление на сесията
Закриване на сесията. От $ _SESSION масива са отстранени, преди данните да са били там и бисквитките, които съхраняват идентификатора на сесията на клиента се изтриват.
Стандартен процес на създаване на сесия започва с изходна страница с две полета за въвеждане на потребителско име и парола. Следната HTML-код се използва за генериране на страницата за вход (появата на страницата е показано на Фигура 3):
Фигура 3: страница вход
Потребителското име и паролата се изпращат на PHP скрипт, наречен login.php. Този скрипт използва глобалната променлива $ _POST за извличане реда влезли в потребителското име и паролата. След това се установява връзка с "сесия" на базата данни и от това извлича съответните потребителско име потребителско име и парола. Ако се установи, потребителското име, паролата се съхранява в базата данни се сравнява с паролата, въведена от потребителя. Ако паролите не съвпадат, опитът за вход се отхвърля. В противен случай, се извършва на входа. По-долу е код скрипт login.php а.
Фигура 5: Добре дошли на страницата, която ще се появи след успешно влизане
от състоянието на сесията
Този скрипт проверява състоянието е налице, когато кликнете върху линка с име "Проверка на състоянието!" Добре дошли на страницата. Това показва името и потребителското си име се получава от масива от данни сесия. По този начин, да се извърши основно изискване за сесиите, и се състои в постоянството на данните по време на прехода между различните страници след вход в системата.
Създаване на защитени страници
Основната цел на сесиите е да се осигури механизъм за защитени страници. Обикновено PHP скрипт по-долу, помага да се защитят имиджа на обществеността. protectedimage.php скрипт е функция require_once ( "status.php") в началото. С него има само едно изпълнение на статут на сценария. сценарий състояние тест проверява сесия производителност и позволява изпълнението на следните функции в случай на реална сесия, или завършва сценария друго. да се защити кода на изображението е показано по-долу:
Фигура 6: Картината е съдържание защитено страници
Фигура 7: достъп до защитеното съдържание е забранено, ако данните за сесията не е наличен
Финализиране
Фигура 8: Page сесията
Ние можем да се провери дали сесията е наистина, причинявайки status.php файл и да научат дали името е все още на разположение и потребителското си име. Посланието е показано на фигура 9, показва, че сесията е невалиден. Име и идентификационен номер на потребител, не са налични, след като на сесията. Следователно включването на status.php сценарий в началото на всяка защитена страница помага да се гарантира, че достъпът до страницата ще бъде на разположение само след правилното вход, в противен случай всички заявки към даден URL да бъдат завършени в началото на скрипта.
Фигура 9: Статус сесия съобщение след неговото приключване
Предимства и недостатъци на механизъм за управление въз основа на сесия на Кук
механизъм за управление на сесия на базата на бисквитките е най-простият метод за управление на сесия, особено поради това, че нейното изпълнение е вградена в PHP. Въпреки това, има добра причина за това трябва да се избягва употребата му в професионални уеб сайтове, е фактът, че бисквитки приемната на браузъра, блокиращи този механизъм става безполезни. Друг недостатък на този механизъм е възможността за получаване на данни от бисквитките в неподходящи ръце, което в крайна сметка може да доведе до загуба на информация. Ето защо, механизъм за управление на сесия на базата на бисквитките е полезен само за реализирането на сесии за уеб сайтове, които не се представят финансови операции и не включват чувствителни данни.
В следващата статия ще бъде описана механизъм за управление на сесията от страна на сървъра, използвайки таблиците в базата данни.