Maison > développement back-end > tutoriel php > Explication détaillée de la fonction get_magic_quotes_gpc() en php

Explication détaillée de la fonction get_magic_quotes_gpc() en php

墨辰丷
Libérer: 2023-03-28 06:36:02
original
4727 Les gens l'ont consulté

La fonction get_magic_quotes_gpc est utilisée pour déterminer s'il faut ajouter des barres obliques aux données fournies par l'utilisateur. C'est dans le fichier de configuration php.ini Cet article présentera la description de la fonction get_magic_quotes_gpc(). Jetons un coup d'œil avec l'éditeur ci-dessous

La fonction get_magic_quotes_gpc est utilisée pour déterminer s'il faut ajouter des barres obliques aux données fournies par l'utilisateur. C'est dans le fichier de configuration php.ini. Permettez-moi de vous présenter la fonction get_magic_quotes_gpc( ). description.

introduction de la fonction get_magic_quotes_gpc

Obtenir la valeur de la variable d'environnement PHP magic_quotes_gpc, qui est une fonction système PHP.

Syntaxe : long get_magic_quotes_gpc(void);

Valeur de retour : long entier

Cette fonction obtient la valeur de la variable magic_quotes_gpc (GPC, Get/Post/Cookie) de la configuration de l'environnement PHP. Renvoyer 0 signifie désactiver cette fonction ; renvoyer 1 signifie activer cette fonction.

Lorsque magic_quotes_gpc est activé, tous les caractères ' (guillemet simple), ” (guillemet double), (barre oblique inverse) et nuls seront automatiquement convertis en caractères de débordement contenant une barre oblique inverse

magic_quotes_gpc définit si. pour ajouter automatiquement une barre oblique inverse au '" dans les données envoyées par GPC (get, post, cookie). Vous pouvez utiliser get_magic_quotes_gpc() pour détecter les paramètres système.

Si ce paramètre n'est pas activé, vous pouvez utiliser la fonction addlashes() pour l'ajouter. Sa fonction est d'ajouter des barres obliques inverses avant certains caractères lorsque cela est requis dans les instructions de requête de base de données.

Ces caractères sont les guillemets simples ('), les guillemets doubles ("), les barres obliques inverses () et NUL (caractère NULL).

Par défaut, la directive PHP magic_quotes_gpc est activée, elle sert principalement à exécutez automatiquement addlashes() sur toutes les données GET, POST et COOKIE

N'utilisez pas addlashes() sur les chaînes qui ont été échappées par magic_quotes_gpc, car cela provoquerait un échappement à double niveau. utilisez la fonction get_magic_quotes_gpc() pour détecter

Exemple

La bonne façon d'utiliser get_magic_quotes_gpc() pour empêcher les attaques de base de données

Le code est le suivant .

<?php
function check_input($value)
{
// 去除斜杠
if (get_magic_quotes_gpc())
{
$value = stripslashes($value);
}
// 如果不是数字则加引号
if (!is_numeric($value))
{
$value = “‘” . mysql_real_escape_string($value) . “‘”;
}
return $value;
}
$con = mysql_connect(“localhost”, “hello”, “321″);
if (!$con)
{
die(‘Could not connect: ‘ . mysql_error());
}
// 进行安全的 SQL
$user = check_input($_POST[&#39;user&#39;]);
$pwd = check_input($_POST[&#39;pwd&#39;]);
$sql = “SELECT * FROM users WHERE
user=$user AND password=$pwd”;
mysql_query($sql);
mysql_close($con);
?>
Copier après la connexion

se résume comme suit :

1. Pour magic_quotes_gpc= Dans le cas de on,

nous ne pouvons pas effectuer les opérations

addslashes() et stripslashes() sur les données de chaîne d'entrée et de sortie de la base de données, et les données sera affiché normalement

.

Si vous effectuez addlashes() sur les données d'entrée à ce moment-là,

alors vous devez utiliser stripslashes() pour supprimer les barres obliques inverses en excès lors de la sortie

2. Dans le cas de magic_quotes_gpc=off

doit utiliser addlashes() pour traiter les données d'entrée, mais il n'est pas nécessaire d'utiliser stripslashes() pour formater la sortie

parce que addlashes() Les barres obliques inverses ne sont pas écrites dans la base de données, mais aident simplement mysql à terminer l'exécution de l'instruction sql

Ce qui précède est tout le contenu de cet article, je j'espère que cela sera utile à l'apprentissage de tout le monde.>


Recommandations associées :

php get_magic_

quotesinstructions d'utilisation de la fonction _gpc()

Concernant le problème de l'échappement automatique de php, l'héritage historique de magic_

quotes_gpc dans la configuration

php get_magic_

quotes_Gpc() introduction à l'utilisation de la fonction

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal