Heim >Backend-Entwicklung >PHP-Problem >So filtern Sie unsichere Zeichenfolgen in PHP

So filtern Sie unsichere Zeichenfolgen in PHP

藏色散人
藏色散人Original
2021-06-19 10:18:203015Durchsuche

So filtern Sie unsichere Zeichenfolgen in PHP: 1. Fügen Sie Sonderzeichen mit der Funktion „mysql_real_escape_string“ einen Backslash hinzu. 3. Filtern Sie Benutzereingaben mit der Funktion „Data“ und mehr.

So filtern Sie unsichere Zeichenfolgen in PHP

Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

Wie filtere ich unsichere Zeichenfolgen in PHP? Zusammenfassung der Verwendung von Zeichensicherheitsfilterfunktionen in PHP

Dieser Artikel stellt hauptsächlich die Zeichensicherheitsfilterfunktionen in PHP vor. Es ist sehr nützlich, um SQL-Injection-Angriffe und XSS-Angriffe zu verhindern. Es wird hier jedem empfohlen.

Im Prozess der WEB-Entwicklung müssen wir häufig Daten einholen, die von Benutzern aus der ganzen Welt eingegeben wurden. 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.

  • mysql_real_escape_string()

Diese Funktion hat einst große Hilfe bei der Verhinderung von SQL-Injection-Angriffen in PHP geleistet. Sie fügt „Backslash“ hinzu, um sicherzustellen, dass die Eingaben des Benutzers sicher sind, bevor sie zur Abfrage verwendet werden. 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() grundsätzlich 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.

  • addslashes()

Diese Funktion ist der oben genannten Funktion mysql_real_escape_string() sehr ähnlich. Sie fügt auch Backslashes zu Sonderzeichen hinzu, aber seien Sie vorsichtig, wenn Sie magic_quotes_gpc in der Datei php.ini festlegen „Ein“ ist, verwenden Sie diese Funktion nicht. 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.

  • 3htmlentities()

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. HTMLspecialchars()

  • Diese Funktion ist der oben genannten sehr ähnlich Wenn Sie diese Bedeutung widerspiegeln möchten, müssen Sie sie in eine HTML-Entität konvertieren. Diese Funktion gibt die konvertierte Zeichenfolge zurück.

strip_tags()

  • Diese Funktion kann alle HTML-, JavaScript- und PHP-Tags in der Zeichenfolge entfernen. Natürlich können Sie die Filterung einiger bestimmter Tags auch ignorieren, indem Sie den zweiten Parameter der Funktion festlegen. Etikett.

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
und fügen Sie Zeichen wie . \ + * ? [ ^ ] ( $ ) hinzu strip_tagsmysql_real_escape_stringEscape-Sonderzeichen in SQL-Strings Escape x00 n r space' "x1a, sehr effektiv für die Verarbeitung von Mehrbyte-Zeichen. mysql_real_escape_string bestimmt den Zeichensatz, mysql_escape_string muss jedoch nicht berücksichtigt werden. Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo filtern Sie unsichere Zeichenfolgen 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
FunktionsnameErklärungEinleitung
HTML-Sonderzeichen Kaufmännisches Und, einfache und doppelte Anführungszeichen, Größer-als- und Kleiner-als-Zeichen in das HTML-Format konvertieren&Konvertieren in&
„Konvertieren in“
' Konvertieren in '
>Convert>

htmlentities() Alle Zeichen werden in das HTML-Format konvertiert Zusätzlich zu den oben genannten HTML-Sonderzeichen enthält es auch Doppelbyte-Zeichen, die als Codierungen usw. angezeigt werden.
fügt Schrägstriche hinzu Einfache und doppelte Anführungszeichen, Backslashes und NULL plus Backslash-Escapezeichen Zu den geänderten Zeichen gehören einfache Anführungszeichen ('), doppelte Anführungszeichen ("), Backslash () und Nullzeichen NULL.
Stripslashes Entfernen Sie Backslash-Zeichen. Entfernen Sie eines und lassen Sie eines übrig. Entfernen Sie es einfach quotemeta
HTML- und PHP-Tags entfernen Entfernen Sie alle HTML-Tags und PHP-Tags in der Zeichenfolge, einschließlich des Inhalts zwischen den Markierungsblöcken. Beachten Sie, dass bei Fehlern in den Zeichenfolgen-HTML- und PHP-Tags ebenfalls ein Fehler zurückgegeben wird