(PHP 3 >= 3.0.6, PHP 4, PHP 5)
get_magic_quotes_gpc --
Restituisce l'attuale configurazione di magic quotes gpc
Descrizione
int
get_magic_quotes_gpc ( void )
Restituisce l'impostazione attuale della direttiva di configurazione magic_quotes_gpc (0 uguale a
off, 1 per on).
Nota:
Se la direttiva
magic_quotes_sybase � impostata a ON, questa � prioritaria rispetto a
magic_quotes_gpc. Pertanto, anche se
get_magic_quotes() restituisce
TRUE ne i doppi apici, ne i backslashes o i NUL saranno
preceduti dal caratteri di escape. Lo saranno soltanto gli apici singoli. In questo
caso saranno: ''
Si ricordi che
magic_quotes_gpc non pu� essere impostata a runtime.
Esempio 1. Esempio di uso di get_magic_quotes_gpc()
<?php echo get_magic_quotes_gpc(); // 1 echo $_POST['lastname']; // O\'reilly echo addslashes($_POST['lastname']); // O\\\'reilly
if (!get_magic_quotes_gpc()) { $lastname = addslashes($_POST['lastname']); } else { $lastname = $_POST['lastname']; }
echo $lastname; // O\'reilly $sql = "INSERT INTO lastnames (lastname) VALUES ('$lastname')"; ?>
|
|
Nell'ottica di scrittura di codice portabile (codice che funzioni
in qualsiasi ambiente), o, se non si hanno i permessi di modifica
del php.ini, � possibile disabilitare gli effetti della funzione
da script. Questo pu� essere fatto in due modi, o con una
impostazione da .htaccess (php_value magic_quotes_gpc 0),
oppure aggiungendo il codice sottostante allo script.
Esempio 2. Disattivare magic quotes da script
<?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); } ?>
|
|
Il parametro magic-quote � stato aggiunto per ridurre il rischio di scrivere codice pericoloso da parte dei principianti.
Se si disabilita magic-quote, occorre prestare molta attenzione a proteggersi
dagli attacchi di SQL injection.
Vedere anche addslashes(),
stripslashes(),
get_magic_quotes_runtime() e
ini_get().