Verwendung der Funktionen esc_url, esc_html, esc_attr …

Lesezeit: 2 Minuten

Benutzeravatar von Stickers
Aufkleber

Wann sind Escaping-Funktionen unbedingt erforderlich oder sinnvoll?

Wie zum Beispiel verwenden esc_url(); mit:

get_template_directory_uri();
get_permalink();
get_author_posts_url();
get_edit_post_link();
wp_get_attachment_url();

Und esc_html(); mit:

get_the_title();
get_the_author();
get_the_date();
get_search_query();

Auch denke ich esc_html(); und esc_attr(); sind sehr ähnlich, oder? Was sind die Unterschiede?

Benutzeravatar von Stickers
Aufkleber

Teil 1

Laut Dokumentation – Validierung, Säuberung und Flucht vom WP VIP-Team.

Leitprinzipien

  1. Vertrauen Sie niemals Benutzereingaben.
  2. Entkomme so spät wie möglich.
  3. Entziehen Sie alles aus nicht vertrauenswürdigen Quellen (wie Datenbanken und Benutzern), Drittanbietern (wie Twitter) usw.
  4. Nehmen Sie niemals etwas an.
  5. Vertrauen Sie niemals Benutzereingaben.
  6. Hygiene ist in Ordnung, aber Validierung/Ablehnung ist besser.
  7. Vertrauen Sie niemals Benutzereingaben.

„Bei der Flucht geht es nicht nur darum, sich vor Bösewichten zu schützen. Es macht unsere Software einfach langlebig. Gegen zufällige schlechte Eingaben, gegen böswillige Eingaben oder gegen schlechtes Wetter.“ –nb

Teil 2

Nach dem Artikel – Einführung in die WordPress-Front-End-Sicherheit: Flucht vor den Dingen von Andy Adams von CSS-Tricks.

Funktion: esc_html

Verwendet für: Ausgabe, die absolut kein HTML in der Ausgabe haben sollte.

Was es tut: Konvertiert HTML-Sonderzeichen (wie z <, >, &) in ihre “entkommene” Entität (&lt;, &gt;, &amp;).

Funktion: esc_attr

Verwendet für: Ausgabe, die im Kontext eines HTML-Attributs verwendet wird (denken Sie an „Titel“, „Daten-“ Felder, „alt“-Text).

Was es tut: Genau dasselbe wie esc_html. Der einzige Unterschied besteht darin, dass auf jede Funktion unterschiedliche WordPress-Filter angewendet werden.

  • Dies wirft die Frage auf: Wenn esc_html und esc_attr “genau dasselbe” tun, warum gibt es zwei unterschiedliche Funktionen?

    – Jim Ratliff

    11. Juni 2019 um 15:41 Uhr

  • @JimRatliff Ich weiß nicht, aber ich benutze normalerweise esc_attr für HTML-Attribute wie vorgeschlagen.

    – Aufkleber

    2. Juli 2019 um 21:08 Uhr

  • @JimRatliff Standardmäßig gibt es keinen Unterschied zwischen esc_html und esc_attrwird derselbe Code verwendet (sie haben nur einen anderen unbenutzten Filter): wordpress.stackexchange.com/questions/264698/…

    – tauf

    20. Juli 2019 um 11:12 Uhr

1390520cookie-checkVerwendung der Funktionen esc_url, esc_html, esc_attr …

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy