Heim > Artikel > Backend-Entwicklung > PHP verwendet die Addslashes-Funktion, um eine Beispielerklärung zur Verhinderung von SQL-Injection zu implementieren
Wir wissen, dass die Funktion addslashes() einen Backslash vor bestimmten vordefinierten Zeichen in der Eingabezeichenfolge hinzufügt. Wie hängt es also mit unserer Anti-SQL-Injektion zusammen? Was ist SQL-Injection?
Der SQL-Injection-Angriff ist die häufigste Methode, mit der Hacker Websites angreifen. Wenn Ihre Site keine strenge Benutzereingabevalidierung verwendet, ist sie häufig anfällig für SQL-Injection-Angriffe. SQL-Injection-Angriffe werden normalerweise durch die Übermittlung fehlerhafter Daten oder Abfrageanweisungen
an die Site-Datenbank implementiert, was dazu führen kann, dass Datensätze in der Datenbank offengelegt, geändert oder gelöscht werden. Dieser Artikelhauptsächlich stellt vorphp verwendet die Addslashes-Funktion, um SQL-Anti-Injection-Beispiele zu implementieren ,bis Das Beispiel beschreibt die Verwendung der Addslashes-Funktion, um SQL-Injection zu verhindern.
Beispiel
Der Parameter 'a..z' begrenzt alle zu maskierenden Groß- und Kleinbuchstaben, der Code lautet wie folgt:
echo addcslashes('foo[ ]','a..z'); //输出:foo[ ] $str="is your name o'reilly?"; //定义字符串,其中包括需要转义的字符 echo addslashes($str); //输出经过转义的字符串
Definition und Verwendung:
Die Funktion addslashes() fügt einen Backslash vor den angegebenen vordefinierten Zeichen ein.
Diese vordefinierten Zeichen sind: einfaches Anführungszeichen ('), doppeltes Anführungszeichen (") , backslash(), null
Syntax:
addslashes(string)
Natürlich ist diese Funktion sicherer, der Beispielcode lautet wie folgt:
$str="<a href='test'>test</a>"; //定义包含特殊字符的字符串 $new=htmlspecialchars($str,ent_quotes); //进行转换操作 echo $new; //输出转换结果 //不过输出时要用到 $str="jane & 'tarzan'"; //定义html字符串 echo html_entity_decode($str); //输出转换后的内容 echo "<br/>"; echo html_entity_decode($str,ent_quotes); //有可选参数输出的内容
Dies Der Artikel ist für PHP-Sicherheitsprogramme. Das Design hat einen guten Referenzwert. Es gibt jedoch Möglichkeiten, die Verwendung von Addslashes zu umgehen, um SQL-Injections-Hacker zu verhindern, und es ist nicht so sicher. Viele PHP-Programmierer verlassen sich immer noch auf Addslashes, um SQL-Injections zu verhindern 🎜>
, es wird empfohlen, die Prüfung zu verstärken, um SQL-Injection auf Chinesisch zu verhindern. Das Problem mit Addslashes besteht darin, dass Hacker 0xbf27 verwenden können, um die einfachen Anführungszeichen zu ersetzen, und Addslashes nur 0xbf27 ändern zu 0xbf5c27, was zu einem gültigen Wert wird. Die Multibyte-Zeichen in
werden immer noch als einfache Anführungszeichen betrachtet, sodass Addslashes natürlich nicht erfolgreich abfangen können. Addslashes sind nicht nutzlos. Es wird zur Verarbeitung von Einzelbyte-Strings verwendet.
[Empfohlene verwandte Artikel]:1.Detaillierte Erläuterung von Beispielen der PHP-Funktion addslashes() und die Funktion „stripslashes()“
2.Detaillierte Beispiele für den Unterschied zwischen der PHP-Funktion „stripslashes()“ und der Funktion „addslashes()“
Das obige ist der detaillierte Inhalt vonPHP verwendet die Addslashes-Funktion, um eine Beispielerklärung zur Verhinderung von SQL-Injection zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!