Директива register_globals
Відео: webformyself
Відео: 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
Є невелика вірогідність, що якщо директива була раніше включена, то у Вас може що-небудь зламатися, тому все уважно перевірте і усуньте всі виниклі помилки, оскільки безпека того дійсно варто.
- Як убезпечити сайт
- Перевірка зайнятості логіна на ajax
- Створення движка на mvc. Створюємо можливість додавання користувача в базу даних через адмін панель
- jаvascript змінні
- Чутливі до регістру пошук для mysql
- Створення движка на mvc. Робимо можливість редагування і видалення користувачів.
- Файл robots.txt
- Оператор еквівалентності php
- Відправка cookie через curl
- Відправка ajax-запиту на інший домен
- Основний інструмент при пошуку помилок в коді
- Обробка форми в php
- Умовний оператор в php
- Робота з cookie в php
- Фільтр пошуку на php
- Глобальні змінні в php
- Довідкові змінні php
- Створення движка на mvc. Начинам робити систему розподілу прав користувачів.
- Whois і php
- Парсинг xml-документа на php
- Md5 хешування в php