Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Escape-String-Sonderzeichen

PHP-Escape-String-Sonderzeichen

WBOY
WBOYOriginal
2016-08-04 09:19:331376Durchsuche

Welche Methode kann PHP verwenden, um alle Sonderzeichen in einer Zeichenfolge zu maskieren?
Ähnlich wie mysql_real_escape_string, aber dieser ist veraltet und wird nicht in der Datenbank verwendet.

Antwortinhalt:

Welche Methode kann PHP verwenden, um alle Sonderzeichen in einer Zeichenfolge zu maskieren?
Ähnlich wie mysql_real_escape_string, aber dieser ist veraltet und wird nicht in der Datenbank verwendet.

htmlspecialchars

Die MySQL-Erweiterung wurde seit PHP 5.5 aufgegeben. Sie können stattdessen mysqli oder pdo_mysql verwenden

Also die von Ihnen erwähnte mysql_real_escape_string-Funktion: Wenn Sie mysqli verwenden, können Sie stattdessen mysqli_real_escape_string verwenden

Es wird jedoch empfohlen, pdo_mysql zu verwenden und vorbereitete Anweisungen zu verwenden, um die Sicherheit zu verbessern

http://php.net/manual/zh/ref....

htmlspecialcharsEinfache und doppelte Anführungszeichen, Größer-als- und Kleiner-als-Zeichen usw. werden in das HTML-Format konvertiert;htmlentitiesAlle Zeichen werden in das HTML-Format konvertiert;addslashesEinfache und doppelte Anführungszeichen, Backslashes und NULL werden mit Backslash ;

maskiert
  • Wie andere Internetnutzer sagten, müssen Sie sich bei Verwendung von pdo keine Gedanken über Injektionen und andere Probleme bei Datenbankvorgängen machen. Die integrierte Vorverarbeitung von pdo kann die Injektion von sql effektiv verhindern und Sonderzeichen behandeln.

  • Wenn Sie pdo nicht verwenden, müssen Sie die Filterung selbst durchführen. Hier ist eine Methode, die ich nur als Referenz verwendet habe

<code>function isEscape($val, $isboor = false) {
    if (! get_magic_quotes_gpc ()) {
        $val = addslashes ( $val );
    }
    if ($isboor) {
        $val = strtr ( $val, array (
                "%" => "\%",
                "_" => "\_" 
        ) );
    }
    return $val;
}</code>
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