it-swarm.com.de

Wann muss ich esc_attr verwenden, wenn ich interne Funktionen von WordPress verwende?

Wenn ich beispielsweise einen WordPress-Wert in das Attribut-Tag einfüge, benötigt die folgende Methode keinen esc_attr

z.B.

// JS code
alert('<?php echo get_bloginfo('name');?>');

die folgende Methode benötigt esc_attr

// JS code
alert('<?php echo esc_attr($post->post_title);?>');

Was ist die Konvention verwendet?

4
Howard

Sie können den Codex sehen .

Kodiert <> & "'(kleiner als, größer als, kaufmännisches Und, doppeltes Anführungszeichen, einfaches Anführungszeichen). Kodiert Entitäten niemals doppelt.

In Anbetracht dessen, dass wohl diese beiden Saiten müssen saniert werden . Stellen Sie sich einen Site-Namen wie >> "My" Website's Great Title <<" vor

Da Sie dies in Javascript verwenden, sollten Sie wahrscheinlich stattdessen esc_js verwenden.

Die Konvention lautet: "Verstehen Sie, wie Markup funktioniert und wie böswillige Hacker funktionieren, und handeln Sie dementsprechend." So können Sie diese Funktionen nutzen. Auch Vertraue niemandem .

Siehe auch diesen Artikel von unserem Mitglied Stephen Harris : Datenbereinigung und Validierung mit WordPress

5
s_ha_dum

Sie verwenden esc_attr(), wenn Sie etwas ausgeben, das in einem HTML-Attribut enthalten sein soll.

In Ihrem Fall sollten Sie stattdessen esc_js() oder möglicherweise json_encode() verwenden.

1
Otto

Wenn Ihr Beitragstitel ein einfaches Anführungszeichen enthält. Ausgabe deines Codes wäre

wachsam ('Es ist schlecht');

das heißt, wenn Sie Ihren JavaScript-Code brechen, wird "Unerwarteter Bezeichner" angezeigt. Wenn Sie esc_attr verwenden, wäre die Ausgabe

wachsam ('Es ist schlecht');

Der Titel des Beitrags wird codiert, damit er innerhalb der Zeichenfolgen funktioniert.

0
M-R