Manual do PHP
Anterior | Capítulo 31. Magic Quotes | Próxima

# Desabilitando Magic Quotes

A diretiva magic_quotes_gpc só pode ser desabilita em nível de sistema, e não em tempo de execução. Em outras palavras, uso da função ini_set() não é uma opção.

Exemplo 31-1. Desabilitando magic quotes no lado do servidor

Um exemplo que configuração dessa diretiva para `Off (Desligada)` no arquivo `php.ini`. Para detalhes adicionais, leia a seção do manual entitulada Como mudar os valores das configurações.

    ; Magic quotes
    ;

    ; Magic quotes para dados vindos via GET/POST/Cookie.
    magic_quotes_gpc = Off

    ; Magic quotes para dados gerados em tempo de execução,ex.: dados vindo de SQL, de chamadas à exec(), etc.
    magic_quotes_runtime = Off

    ; Usar magic quotes no estilo Sybase (escapar ' com '' ao invés de \').
    magic_quotes_sybase = Off

Se acesso à configuração do servidor não estiver disponível, uso do arquivo `.htaccess` também é uma opção. Por exemplo:

    php_flag magic_quotes_gpc Off

No interesse de escrever código portável (código que funciona em qualquer ambiente), como onde configurar a opção em nível de servidor não for possível, aqui está um exemplo de como desabilitar magic_quotes_gpc em tempo de execução. Esse método é ineficiente então é preferível configurar as diretivas apropriadas em outros lugares.

Exemplo 31-2. Disabilitando magic quotes em tempo de execução

`<?php if (get_magic_quotes_gpc()) { function stripslashes_deep($value) { $value = is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value); return $value; } $_POST = array_map('stripslashes_deep', $_POST); $_GET = array_map('stripslashes_deep', $_GET); $_COOKIE = array_map('stripslashes_deep', $_COOKIE); } ?>`

Anterior | Principal | Próxima
Por que não usar Magic Quotes? | Acima | Escondendo o PHP