3.3.3 Як вимкнути Magic Quotes Gpc
Magic Quotes – це функціональність, яка була вперше введена в PHP для автоматичного екранування знаків кавичок та знаків обертання слеша () відправлених через HTTP-запити. Це було розроблено для захисту від SQL-ін’єкцій та інших атак на безпеку. Функціонал автоматично додає обертання слеша перед кожними знаками кавичок та слешами в змінних, які надходять через HTTP-запити ($_GET
, $_POST
та $_COOKIE
) до скриптів PHP.
Magic Quotes було призначено для полегшення обробки даних, що надходять через HTTP-запити, і зменшення ризику SQL-ін’єкцій. Однак, через те, що вони накладаються автоматично і можуть призводити до непередбачуваної поведінки, їх використання стало застарілим і більше не рекомендується. Розширення було офіційно вилучено з PHP починаючи з версії 7.4.0. Вимкнення Magic Quotes дозволяє контролювати обробку та екранування даних вручну, забезпечуючи більшу гнучкість та безпеку в програмах на PHP.
Управління Magic Quotes Gpc
В залежності від режиму роботу PHP Вашого сайту (PHP як CGI чи PHP як Apache), управляти розширенням можете за допомою файлів php.ini
чи .htaccess
. Докладніше про файл конфігуації php.ini.
Для відключення Magic Quotes на версії PHP 5.2 або 5.3 виконайте такі дії:
1. Якщо PHP для WWW-домена встановлено у режимі CGI.
- Увійдіть під користувачем в менеджер файлів у папку php-bin.
- Встановіть права 600 для файлу php.ini
- У файлі php.ini вкажіть наступні рядки:
magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off
2. Якщо для WWW-домена PHP увімкнено у режимі модуля Apache, то вкажіть у файлі ~/www/ім'я_домена/.htaccess
наступні рядки.
php_flag magic_quotes_gpc Off
php_flag magic_quotes_runtime Off
php_flag magic_quotes_sybase Off
Важливо: розширення по замовчуванні активовано тільки для версій PHP 5.2 та 5.3. Починаючи з версії PHP 7.4 функціонал застарів та був видалений. Офіційна документація.