Директива register_globals

Відео: webformyself

Директива register_globals

Відео: The register_globals Configuration in PHP

Цілком ймовірно, що Ви вже чули про директиву register_globals і знаєте, що вона робить. Якщо хтось цього не знає, то Ви дізнаєтеся про це з даної статті, однак, головне завдання цієї статті довести, що директиву register_globals краще завжди тримати відключеною в цілях безпеки.

Директива register_globals дозволяє реєструвати змінні, отримані з GET-запиту. Припустимо, був такий запит: index.php? a = 15. Таким чином, безумовно, створюється змінна $ _GET [ "a"] і змінна a. Ось створення змінної a і сталося в результаті включеної директиви register_globals.




Тепер про те, чому цю директиву треба завжди тримати відключеною. Припустимо, що Ви робите авторизацію користувача, і Ви написали такий код:

lt ;?php
if(($ _POST["Login"]=="Admin")($ _POST["Password"]=="123456")) $ check_user =true-
if($ check_user) echo "Авторизація пройшла успішно"-
else echo "Помилка авторизації"-
?gt;

Тепер якщо файл називається, наприклад, auth.php, то, звернувшись до нього в такий спосіб: auth.php? check_user = 1, то вийде успішна авторизація, незалежно від того, які логін і пароль були відправлені і чи були відправлені взагалі.

Відео: WP Gateway Secure Advanced | Review




Безумовно, даний приклад є злегка містичним, оскільки так ніхто не пише (хоча б через відсутність else $ check_user = false-), Проте, даний приклад наочно показує, до чого може привести включена директива register_globals.

Тепер про те, як же відключити директиву register_globals. Для цього треба додати в файл .htaccess всього один рядок:

php_value register_globals 0

Є невелика вірогідність, що якщо директива була раніше включена, то у Вас може що-небудь зламатися, тому все уважно перевірте і усуньте всі виниклі помилки, оскільки безпека того дійсно варто.

Поділися в соціальних мережах:

Схожі
Створення движка на mvc. Створюємо авторизацію.Створення движка на mvc. Створюємо авторизацію.
Створення движка на mvc. Робимо можливість редагування і видалення користувачів.Створення движка на mvc. Робимо можливість редагування і видалення користувачів.
Умовний оператор в phpУмовний оператор в php
Відправка cookie через curlВідправка cookie через curl
Парсинг xml-документа на phpПарсинг xml-документа на php
Чутливі до регістру пошук для mysqlЧутливі до регістру пошук для mysql
Довідкові змінні phpДовідкові змінні php
Створення движка на mvc. Начинам робити систему розподілу прав користувачів.Створення движка на mvc. Начинам робити систему розподілу прав користувачів.
Робота з cookie в phpРобота з cookie в php
Оператор еквівалентності phpОператор еквівалентності php
» » Директива register_globals