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