Exemple de code :
@set_magic_quotes_runtime(0);
$MQG = get_magic_quotes_gpc();
if(!$MQG && $_POST) $_POST = daddslashes($_POST);
if(!$MQG && $_GET) $_GET = daddslashes); ($_GET );
//Fonction de caractère de traduction
function daddslashes($string) {
if(!is_array($string)) return addlashes($string); $string as $key => $val) $string[$key] = daddslashes($val);
return $string
}
PHP offre deux commodités : pour nous Les fonctions de référence magiques magic_quotes_gpc et magic_quotes_runtime pour citer des données. Si ces deux fonctions sont définies sur ON dans php.ini, elles ajouteront automatiquement des barres obliques inverses lorsque les données que nous citons rencontrent des guillemets simples " et des guillemets doubles " et des barres obliques inverses. Les barres obliques nous aident. traduire automatiquement les symboles pour garantir le bon fonctionnement des opérations de données. Cependant, sous différentes versions de PHP ou différentes configurations de serveur, certains magic_quotes_gpc et magic_quotes_runtime sont activés, et d'autres sont désactivés, donc le programme que nous avons écrit doit répondre aux deux. et off conditions. Alors, quelle est la différence entre les fonctions magic_quotes_gpc et magic_quotes_runtime ? Voir la description suivante :
La différence entre les fonctions magic_quotes_gpc et magic_quotes_runtime
magic_quotes_gpc
La portée est : client web
serveur ;
Heure de l'action : La requête démarre, par exemple, lorsque le script est en cours d'exécution
magic_quotes_runtime
Portée : À partir du fichier. les données lues peuvent être obtenues à partir d'une requête SQL ;
Temps d'action : chaque fois que le script accède aux données générées dans l'état d'exécution, la valeur de réglage de magic_quotes_gpc affectera Get/Post Les données obtenues par /Cookies La valeur de réglage. de magic_quotes_runtime affectera les données lues à partir du fichier ou les données obtenues à partir de la requête de base de données
Exemple :
$data2 = implode(file('1.txt' )
if(get_magic_quotes_gpc()){
//Écrivez les données $data1 directement dans la base de données (traduction automatique)
}else{
$data1 = addlashes($data1)
// Écrivez les données $data1 dans la base de données et utilisez la fonction (addslashes() pour traduire)
}
if(get_magic_quotes_runtime()){
//Écrivez les données $data2 directement Entrez dans la base de données (traduction automatique )
//Les données lues dans la base de données doivent être sorties une fois après stripslashes(). La fonction de stripslashes() est de supprimer :, ce qui est opposé à addlashes()
}else{
$. data2 = addlashes($data2);
//Écrire les données $data2 dans la base de données
//Les données lues dans la base de données sont directement sorties
}
La principale différence réside dans les deux points mentionnés ci-dessus : ils ciblent différents objets de traitement
La valeur de réglage de magic_quotes_gpc affectera les données obtenues via Get/Post/Cookies
La valeur de réglage de magic_quotes_runtime affectera les données obtenues à partir de Data lu à partir du fichier ou des données obtenues à partir de la requête de la base de données
Au fait, voici quelques fonctions que je souhaite associer :
set_magic_quotes_runtime() :
Définissez le magic_quotes_runtime value 0=off.1=on. L'état par défaut est désactivé get_magic_quotes_gpc() :
Afficher la valeur magic_quotes_gpc 0=off.1=on
get_magic_quotes_runtime(). :
Afficher la valeur magic_quotes_runtime. 0=off. 1=on.
Notez qu'il n'y a pas de fonction set_magic_quotes_gpc(), c'est-à-dire que la valeur de magic_quotes_gpc ne peut pas être définie dans le programme.