* Session fixation – задача за упражнение
Публикувано на 18 ноември 2008 в раздел ОСУП.
Нека обобщим всичко написано дотук за фиксиране на потребителски сесии, като запишем описаните техники за контрол в една функция. Нека функцията се казва "security_start_session" и да приема три параметъра:
1. Първи параметър: число със стойност 0 или 1, което указва дали приложението задължително насочва връзката през HTTPS.
2. Втори параметър: времето за активност на сесия (в секунди). Ако се подаде отрицателна стойност или 0, то функцията няма да проверява за дължината на активността на сесията.
3. Трети параметър: максимална активност на сесия. Отново ако подаденото число е по-малко от нула, то функцията няма да прави тази проверка.
4. Четвърти параметър: число със стойност 0 или 1, което указва дали сесията да бъде фиксирана по IP адрес или не.
Като изходни данни функцията трябва да връща числата 1 или 0, които съответно означават, че сесията е стартирана успешно или обратно - засекла е пробив в сигурността.
След реализацията на тази функция вие бихте могли да я запишете във файл "security.php" и да я използвате по начин, подобен на следният:
// Начало на файла <?php include "security.php"; if (security_start_session(0, 6*60, 20*60, 1) != 1){ echo "<br>session destroyed!"; return; } ?> <html> ...
Напишете споменатата функция. В по-нататъшни приложения ще я използваме.
Добави коментар