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 вкажіть наступні рядки:
php.ini
  magic_quotes_gpc = Off
  magic_quotes_runtime = Off
  magic_quotes_sybase = Off

2. Якщо для WWW-домена PHP увімкнено у режимі модуля Apache, то вкажіть у файлі ~/www/ім'я_домена/.htaccess наступні рядки.

.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 функціонал застарів та був видалений. Офіційна документація.