In diesem Artikel wird hauptsächlich die Zeichensicherheitsfilterfunktion in PHP vorgestellt, die sehr nützlich ist, um SQL-Injection-Angriffe und XSS-Angriffe zu verhindern. Es wird hier jedem empfohlen.
Während des WEB-Entwicklungsprozesses müssen wir häufig Daten einholen, die von Benutzern aus der ganzen Welt eingegeben werden. Allerdings „können wir niemals den vom Benutzer eingegebenen Daten vertrauen.“ Daher werden in verschiedenen Webentwicklungssprachen Funktionen bereitgestellt, um die Sicherheit der Benutzereingabedaten zu gewährleisten. In PHP gibt es einige sehr nützliche und praktische Funktionen, die Ihnen helfen können, Probleme wie SQL-Injection-Angriffe, XSS-Angriffe usw. zu verhindern.
1. mysql_real_escape_string()
Diese Funktion war einst eine große Hilfe bei der Verhinderung von SQL-Injection-Angriffen in PHP. Sie verwendet Sonderzeichen wie einfache Anführungszeichen und doppelte Anführungszeichen „Backslash“, um sicherzustellen, dass die Eingabe des Benutzers sicher ist, bevor sie zur Abfrage verwendet wird. Beachten Sie jedoch, dass Sie diese Funktion nutzen, während Sie mit der Datenbank verbunden sind.
Aber jetzt wird die Funktion mysql_real_escape_string() im Grunde nicht mehr benötigt. Alle neuen Anwendungsentwicklungen sollten Bibliotheken wie PDO verwenden, um die Datenbank zu betreiben. Mit anderen Worten, wir können vorgefertigte Anweisungen verwenden, um SQL-Injection-Angriffe zu verhindern.
2. addslashes()
Diese Funktion ist der oben genannten mysql_real_escape_string() sehr ähnlich. Sie fügt auch Backslashes zu Sonderzeichen hinzu, aber seien Sie vorsichtig, wenn Sie sie nicht verwenden Diese Funktion funktioniert, wenn der Wert von magic_quotes_gpc in der Datei php.ini „on“ ist. Wenn magic_quotes_gpc = on ist, wird addslashes() automatisch für alle GET-, POST- und COOKIE-Daten ausgeführt. Verwenden Sie addslashes() nicht für Zeichenfolgen, die von magic_quotes_gpc maskiert wurden, da dies zu doppeltem Escapezeichen führt. Sie können den Wert dieser Variablen über die Funktion get_magic_quotes_gpc() in PHP überprüfen.
3. htmlentities()
Diese Funktion ist sehr nützlich zum Filtern von Benutzereingabedaten. Sie kann Zeichen in HTML-Entitäten konvertieren. Wenn der Benutzer beispielsweise das Zeichen „<“ eingibt, wird es von dieser Funktion in die HTML-Entität „<“ umgewandelt (Sie sehen „<“, wenn Sie den Quellcode anzeigen), wodurch XSS- und SQL-Injection verhindert wird Angriffe. Nicht erkannte Zeichensätze werden ignoriert und durch ISO-8859-1 ersetzt.
4. Diese Funktion ist der oben genannten Funktion sehr ähnlich Zeichen in haben spezielle Bedeutungen. Wenn Sie solche Bedeutungen widerspiegeln möchten, müssen sie in HTML-Entitäten umgewandelt werden. Diese Funktion gibt die konvertierte Zeichenfolge zurück.
5. strip_tags()
Diese Funktion kann alle HTML-, JavaScript- und PHP-Tags im String entfernen. Natürlich können Sie auch die zweite Funktion festlegen Funktion. Parameter, Filterung einiger spezifischer Tags ignorieren.
6. intval()
intval ist eigentlich keine Filterfunktion. Seine Funktion besteht darin, Variablen in Ganzzahltypen umzuwandeln. Dies ist sehr nützlich, wenn wir einen ganzzahligen Parameter benötigen. Sie können diese Funktion verwenden, um Ihren PHP-Code sicherer zu machen, insbesondere wenn Sie ganzzahlige Daten wie ID und Alter analysieren.
Dies ist eine Zusammenfassung, wie PHP mit Sonderzeichen in Formularübermittlungen umgeht. Dabei handelt es sich hauptsächlich um die gemeinsame Verwendung mehrerer Funktionen wie htmlspecialchars/addslashes/stripslashes/strip_tags/mysql_real_escape_string.1. Mehrere PHP-Funktionen im Zusammenhang mit der Verarbeitung von Sonderzeichen
Funktionsname | Erklärung td> | Einführung | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
htmlspecialchars | Konvertieren Sie und, einfache und doppelte Anführungszeichen, Größer-als- und Kleiner-als-Zeichen in das HTML-Format | &Konvertieren&
„Konvertieren“ 函数名 | 释义 | 介绍 | htmlspecialchars | 将与、单双引号、大于和小于号化成HTML格式 | &转成& | "转成" ' 转成' <转成< >转成> htmlentities() |
所有字符都转成HTML格式 |
除上面htmlspecialchars字符外,还包括双字节字符显示成编码等。 |
|
|
| addslashes |
单双引号、反斜线及NULL加上反斜线转义 |
被改的字符包括单引号(')、双引号(")、反斜线backslash () 以及空字符NULL。 |
stripslashes |
去掉反斜线字符 |
去掉字符串中的反斜线字符。若是连续二个反斜线,则去掉一个,留下一个。若只有一个反斜线,就直接去掉。 |
|
|
| quotemeta |
加入引用符号 |
将字符串中含有. \ + * ? [ ^ ] ( $ ) 等字符的前面加入反斜线"" 符号。 |
nl2br() |
将换行字符转成 |
| strip_tags |
去掉HTML及PHP标记 |
去掉字符串中任何HTML标记和PHP标记,包括标记封堵之间的内容。注意如果字符串HTML及PHP标签存在错误,也会返回错误。 |
mysql_real_escape_string |
转义SQL字符串中的特殊字符 |
转义x00 n r 空格 ' " x1a,针对多字节字符处理很有效。mysql_real_escape_string会判断字符集,mysql_escape_string则不用考虑。 |
htmlentities() |
Alle Zeichen werden in das HTML-Format konvertiert |
Mit Ausnahme der oben genannten htmlspecialchars-Zeichen Enthält Doppelbyte-Zeichen, die als Codierungen usw. angezeigt werden. |
|
|
| fügt Schrägstriche hinzu |
Einfache und doppelte Anführungszeichen, Backslash und NULL plus Backslash-Escape |
Zu den geänderten Zeichen gehören einfache Anführungszeichen ('), doppelte Anführungszeichen ("), Backslash Backslash () und das Nullzeichen NULL. |
stripslashes |
Backslash-Zeichen entfernen |
Entfernen Sie zwei aufeinanderfolgende Backslash-Zeichen in der Zeichenfolge. Wenn nur ein Schrägstrich vorhanden ist, entfernen Sie einen und lassen Sie einen übrig |
|
| |
quotemeta |
Anführungszeichen hinzufügen |
Enthalten Sie Zeichen wie \ + * ? [ ^ ] ( $ ) in der Zeichenfolge. Fügen Sie vor |
nl2br() |
Konvertieren Sie das Zeilenumbruchzeichen in |
| strip_tags |
Entfernen Sie HTML und PHP Tags |
Entfernen Sie alle HTML-Tags und PHP-Tags in der Zeichenfolge, einschließlich des Inhalts zwischen Tag-Blöcken. Beachten Sie, dass bei Fehlern in den HTML- und PHP-Tags der Zeichenfolge auch Fehler zurückgegeben werden |
mysql_real_escape_string |
Escape-Sonderzeichen in SQL-Strings |
Escape x00 n r space ' " x1a, was für die Verarbeitung von Mehrbyte-Zeichen sehr effektiv ist. mysql_real_escape_string bestimmt den Zeichensatz, mysql_escape_string muss jedoch nicht berücksichtigt werden. |
Dies sind die in PHP integrierten String-Filterfunktionen, die sehr einfach und praktisch sind. Ich hoffe, meine Freunde können sie gut nutzen. Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird. Verwandte Empfehlungen: So fügen Sie Untertitel zu Videos mit PHP und ffmpeg hinzu PHP-Klasse für reguläre Ausdrücke zur Implementierung der UBB-Codefilterung So erhalten Sie die Breite und Höhe des Textanzeigegitters in PHP Das obige ist der detaillierte Inhalt vonEine kurze Beschreibung der Zeichensicherheitsfilterfunktion in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Verwandte Etiketten:
Quelle:php.cn
Vorheriger Artikel:Detaillierte grafische Erklärung der Verwendung von stdClass in PHP
Nächster Artikel:PHP-Methode zum Konvertieren einer kurzen URL basierend auf einer Zeichenfolge
Erklärung dieser Website
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
Neueste Artikel des Autors
Aktuelle Ausgaben
Bei der Verwendung von opentbs zum Generieren von ODT-Dateien sind Probleme aufgetreten: Werte desselben Schlüssels werden in derselben Zeile statt in separaten Spalten angezeigt.
Ich verwende eine Bibliothek namens OpenTbs, um ODT mit PHP zu erstellen. Ich verwende sie...
Aus 2024-04-06 20:18:18
0
1
483
verwandte Themen
Mehr>
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
|