Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Erklärung der Funktion get_magic_quotes_gpc() in PHP

Detaillierte Erklärung der Funktion get_magic_quotes_gpc() in PHP

墨辰丷
墨辰丷Original
2018-05-26 10:16:454721Durchsuche

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[&#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);
?>

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

Anweisungen zur Verwendung der Funktion _gpc()

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn