время
|
|
424 Часть IV. PHP-функции Глава 12
на сайт злоумышленнику достаточно зарегистрироваться обыч-
ным образом, а потом дописать в адресной строке браузера ?user_status=10. Вот
и появился у вас на форуме новый администратор.
В принципе, любую переменную скрипта можно задать через адресную строку,
просто дописав после полного адреса к скрипту вопросительный знак и название
переменной с ее значением. Поправим код примера 31.7, чтобы избежать этой
?дыры?:
<?php
// убираем все лишнее из адресной строки
// функция unset () "освобождает" переменную
unset ($logged_user) ;
// открываем сессию
session_start () ;
// и корректируем "испорченные" переменные.
// Внимание: в этом случае переменная регистрируется не как
// новая, а как уже существующая, потому знак $ не опускается
session_register ($logged_user) ;
if ( ! isset ($logged_user) ) {
header ("Location: index. php") ;
exit;
<html>
<body>
Здравствуйте, <?php echo $logged_user; ?>, вы на секретной
странице !
</body>
</html>
Заключение
Сессии