
02.01.2009, 18:37
|
|
Участник форума
Регистрация: 24.11.2008
Сообщений: 205
С нами:
9190406
Репутация:
362
|
|
Сообщение от Jino
Почему не безопасно когда включена директива register_globals?
Ну вот например простейший пример с php.net
PHP код:
<?php
// define $authorized = true only if user is authenticated
if (authenticated_user()) {
$authorized = true;
}
// Because we didn't first initialize $authorized as false, this might be
// defined through register_globals, like from GET auth.php?authorized=1
// So, anyone can be seen as authenticated!
if ($authorized) {
include "/highly/sensitive/data.php";
}
?>
как мы видим для авторизации используется специальная функция, которая в случае успеха инициализирует переменную $authorized. При register_globals 1 мы похекаем всю эту авторизацию просто обратившись к скрипту script.php?authorized=1
Сообщение от Jino
Как я понял изначально переменные не регистрируются, а регистрируются при $_GET['название переменной']. Верно?
При запуске скрипта создаются суперглобальные массивы $_SERVER, $_GET, $_POST, $_COOKIES и др.
http://ua.php.net/manual/en/language.variables.superglobals.php
Сообщение от Jino
А вот еще один вопрос назрел
Естественно это неправильно)
Как сделать перенос строки?
|
|
|