wp_kses und magische Zitate

In der wp_kses codex Seite heißt es:

Sie müssen alle Schrägstriche aus den magischen Zitaten von PHP entfernen, bevor Sie diese function aufrufen.

Ich bin neu (ish) zu PHP und ich wiki’d Magic Quotes und es war anscheinend vor kurzem veraltet / aus der Sprache entfernt. Muss ich mir deswegen noch Sorgen machen?

Solutions Collecting From Web of "wp_kses und magische Zitate"

WordPress fügt immer noch Schrägstriche zu Daten hinzu, die per POST gesendet werden, also müssen Sie in einigen Fällen die Schrägstriche entfernen. Es gibt zwei Möglichkeiten:

  1. Verwende stripslashes_deep( $value ) . Diese function akzeptiert ein Array, ein Objekt oder eine Zeichenfolge und entfernt die Schrägstriche.
  2. Erhalten Sie POST-Daten per:

     $data = file_get_contents( 'php://input' ); 

    Dies nimmt die Daten aus dem rohen Eingabestrom, eine Ressource, die nicht geändert werden kann (schreibgeschützt), so dass sie auch nicht von WordPress geändert wird. Dies funktioniert nicht, wenn das Formular mit enctype="multipart/form-data" gesendet wurde, z. mit Datei-Uploads.

stripslashes_deep() Sie, dass stripslashes_deep() JSON-codierte Zeichenfolgen ruinieren kann.

Magische Anführungszeichen sind keine Anführungszeichen, sie sind Backslashes \ . Sie funktionieren wie addslashes() und werden an mehreren Stellen auf eingehende Daten angewendet. Backslashes werden vor ' , " , \ und das Zeichen NULL .

In WordPress gibt es eine function add_magic_quotes() ( wp-includes/functions.php ). Es läuft auf $_GET , $_POST , $_COOKIE und $_SERVER in wp-includes/load.php in der function wp_magic_quotes() und auf Benutzer / Post-Daten, die aus der database gezogen werden.