Wyłączenie magic quotes

Właściwość magic_quotes usunięto od wersji PHP 5.4.0. Jednak jeśli z jakichś powodów używamy starszej wersji, a nie chcemy aby magic_quotes dodawał nam backslashe (szczególnie przy edycji przez ckeditor), to istnieją dwa sposoby na wyłączenie tej właściwości.

1. Edycja pliku .htaccess

Do pliku .htaccess wystarczy dodać następujący kod:

php_flag magic_quotes_gpc Off

2. Wyłączenie w trakcie wykonywania

Jeżeli ktoś nie ma możliwości edytowania plików .htaccess to drugim sposobem jest wyłączenie magicznych cudzysłowów w trakcie wykonywania. Jest za to odpowiedzialny poniższy fragment kodu:

if (get_magic_quotes_gpc()) {
    $process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
    while (list($key, $val) = each($process)) {
        foreach ($val as $k => $v) {
            unset($process[$key][$k]);
            if (is_array($v)) {
                $process[$key][stripslashes($k)] = $v;
                $process[] = &$process[$key][stripslashes($k)];
            } else {
                $process[$key][stripslashes($k)] = stripslashes($v);
            }
        }
    }
    unset($process);
}