Die Funktion
get_magic_quotes_gpc wird verwendet, um zu bestimmen, ob Schrägstriche zu den vom Benutzer bereitgestellten Daten hinzugefügt werden sollen. Diese befindet sich in der php.iniKonfigurationsdatei. In diesem Artikel wird get_magic_quotes_gpc() vorgestellt. Funktionsbeschreibung. 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() zur Erkennung
Beispiel
Die richtige Art und Weise, get_magic_quotes_gpc() zu verwenden, um Datenbankangriffe zu verhindern
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); ?>
Die Zusammenfassung lautet wie folgt:
1 magic_quotes_gpc=on,
Wir können keine
Addslashes()- und Stripslashes()-Operationen für die Zeichenfolgendateneingabe und -ausgabe aus der Datenbank ausführen, und die Daten werden normal angezeigt
Wenn Sie addslashes() für die Eingabedaten ausführen,
, müssen Sie bei der Ausgabe „stripslashes()“ verwenden, um überschüssige Backslashes zu entfernen . Für magic_quotes_gpc=. Im Fall von off
müssen Sie addslashes() verwenden, um die Eingabedaten zu verarbeiten, aber Sie müssen Stripslashes() nicht verwenden, um die Ausgabe zu formatieren
Das obige ist der detaillierte Inhalt vonAnweisungen zur Verwendung der PHP-Funktion get_magic_quotes_gpc(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!