Heim >Backend-Entwicklung >PHP-Problem >Was sind die am häufigsten verwendeten Escape-Funktionen in PHP?

Was sind die am häufigsten verwendeten Escape-Funktionen in PHP?

L
LOriginal
2020-06-01 10:58:532761Durchsuche

Was sind die am häufigsten verwendeten Escape-Funktionen in PHP?

Häufig verwendete Escape-Funktionen in PHP

1.addslashes

fügt ein Schrägstrichpaar hinzu Escape Sonderzeichen in SQL-Anweisungen, einschließlich der vier Zeichen ('), ("), (), (NUL). Diese Funktion wird verwendet, wenn das DBMS nicht über eine eigene Escape-Funktion verfügt, das DBMS jedoch über eine eigene Escape-Funktion verfügt Es wird empfohlen, die Originalfunktion zu verwenden. MySQL verfügt beispielsweise über die Funktion mysql_real_escape_string, um SQL zu maskieren.

Beachten Sie, dass magic_quotes_gpc standardmäßig in $GET, $POST und $ aktiviert war Der Vorgang „addslashes“ wird für COOKIE ausgeführt, daher ist es nicht erforderlich, „addslashes“ für diese Variablen wiederholt aufzurufen, andernfalls kommt es zu einem doppelten Escapezeichen.

Allerdings wurde magic_quotes_gpc in PHP5.3 aufgegeben und seit PHP5.4 entfernt. Ja, Sie müssen sich über dieses Problem keine Sorgen machen, wenn Sie die neueste Version von PHP verwenden Konvertiert mehrere Sonderzeichen in HTML. Es ist als HTML-Entität (Format: &xxxx;) definiert, einschließlich (&), ('), ("), (<), (>) fünf Zeichen.


& (AND) => > Wenn ENT_QUOTES gesetzt ist) htmlspecialchars< (Kleiner-als-Zeichen) =<

> , $COOKIE-Daten, XSS verhindern.

Beachten Sie, dass die Funktion htmlspecialchars nur HTML-Zeichen maskiert, die als Sicherheitsrisiken gelten. Wenn Sie alle Zeichen maskieren möchten, die in HTML maskiert werden können, verwenden Sie bitte htmlentities. htmlspecialchars_decode ist die Dekodierungsfunktion von htmlspecialchars.

3.


htmlentities maskiert den escapbaren Inhalt in HTML in HTML Entity. html_entity_decode ist die Dekodierungsfunktion von htmlentities.

4. mysql_real_escape_string

mysql_real_escape_string ruft die MySQL-Bibliotheksfunktion mysql_real_escape_string auf, um (x00), (n), (r), (), ('), (x1a) zu maskieren , fügen Sie einen Backslash () voran, um eine SQL-Injection zu verhindern.

Beachten Sie, dass Sie beim Lesen der Datenbankdaten keine Stripslashes aufrufen müssen, da diese Backslashes hinzugefügt werden, wenn die Datenbank SQL ausführt, und die Backslashes, die beim Schreiben der Daten in die Datenbank verwendet werden, entfernt werden , sodass es sich bei dem in die Datenbank geschriebenen Inhalt um die Originaldaten handelt und es keine Backslashes davor gibt.

5. htmlentities

strip_tags filtert NUL-, HTML- und PHP-Tags heraus.

6. Fazit

PHPs eigene Sicherheitsfunktionen können XSS nicht vollständig umgehen. Es wird empfohlen, HTML Purifier zu verwenden

Empfohlenes Tutorial: „

PHP-Tutorial

Das obige ist der detaillierte Inhalt vonWas sind die am häufigsten verwendeten Escape-Funktionen 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