Die Funktion get_magic_quotes_gpc wird verwendet, um zu bestimmen, ob den vom Benutzer bereitgestellten Daten Schrägstriche hinzugefügt werden sollen. Dies befindet sich in der Konfigurationsdatei php.ini. In diesem Artikel wird die Funktionsbeschreibung get_magic_quotes_gpc vorgestellt. Schauen wir uns den Editor unten an
Die Funktion get_magic_quotes_gpc wird verwendet, um zu bestimmen, ob den vom Benutzer bereitgestellten Daten Schrägstriche hinzugefügt werden sollen. Dies ist in der Konfigurationsdatei php.ini enthalten Beschreibung.
Einführung in die Funktion get_magic_quotes_gpc
Rufen Sie den Wert der PHP-Umgebungsvariablen magic_quotes_gpc ab, bei der es sich um eine PHP-Systemfunktion handelt.
Syntax: long get_magic_quotes_gpc(void);
Rückgabewert: long integer
Diese Funktion erhält den Wert der Variablen magic_quotes_gpc (GPC, Get/Post/Cookie) von die PHP-Umgebungskonfiguration. Die Rückgabe von 0 bedeutet das Ausschalten dieser Funktion; die Rückgabe von 1 bedeutet das Einschalten dieser Funktion.
Wenn magic_quotes_gpc aktiviert ist, werden alle ' (einfaches Anführungszeichen), " (doppeltes Anführungszeichen), (Backslash) und Nullzeichen automatisch in Überlaufzeichen umgewandelt, die einen Backslash enthalten.
magic_quotes_gpc legt fest, ob um automatisch einen Backslash zum „“ in den von GPC gesendeten Daten (get, post, cookie) hinzuzufügen. Sie können get_magic_quotes_gpc() verwenden, um Systemeinstellungen zu erkennen.
Wenn diese Einstellung nicht aktiviert ist, können Sie sie mit der Funktion addslashes() hinzufügen. Ihre Funktion besteht darin, bei Bedarf in Datenbankabfrageanweisungen Backslashes vor bestimmten Zeichen hinzuzufügen.
Diese Zeichen sind einfache Anführungszeichen ('), doppelte Anführungszeichen ("), Backslash () und NUL (NULL-Zeichen).
Standardmäßig ist die PHP-Direktive magic_quotes_gpc aktiviert, hauptsächlich um Führen Sie addslashes() automatisch für alle GET-, POST- und COOKIE-Daten aus.
Verwenden Sie addslashes() nicht für Zeichenfolgen, die von magic_quotes_gpc maskiert wurden, da dies zu Escapezeichen auf zwei Ebenen führt Verwenden Sie die Funktion get_magic_quotes_gpc(), um
Beispiel
Die korrekte Verwendung von get_magic_quotes_gpc() zur Verhinderung von Datenbankangriffen zu erkennen
Der Code lautet wie folgt .
<?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['user']); $pwd = check_input($_POST['pwd']); $sql = “SELECT * FROM users WHERE user=$user AND password=$pwd”; mysql_query($sql); mysql_close($con); ?>
ist wie folgt zusammengefasst:
1 =on In diesem Fall
können wir keine
addslashes()- und striplashes()-Operationen für die Zeichenfolgendateneingabe und -ausgabe aus der Datenbank ausführen, und die Daten werden angezeigt Normalerweise. >Wenn Sie zu diesem Zeitpunkt addslashes() für die Eingabedaten ausführen,
, müssen Sie bei der Ausgabe überschüssige Backslashes entfernen Im Fall von magic_quotes_gpc=off
müssen Sie addslashes() verwenden, um die Eingabedaten zu verarbeiten, aber Sie müssen Stripslashes() nicht verwenden, um die Ausgabe zu formatieren, da addslashes( ) nicht. Das Zusammenschreiben der Backslashes in die Datenbank hilft MySQL nur, die Ausführung der SQL-Anweisung abzuschließen
Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, er wird für alle hilfreich sein Lernen<.>
Verwandte Empfehlungen:php get_magic_
quotes
In Bezug auf das automatische Escape-Problem von PHP, das historische Problem von magic_Anführungszeichen_gpc in der Konfiguration
php get_magic_ Anführungszeichen_gpc Einführung in die Verwendung der ()-Funktion
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung der Funktion get_magic_quotes_gpc() in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!