wie man wp_oembed_get für phpcs entkommt

Ich benutze phpcs, um zu helfen, sicherzustellen, dass ich einen schönen, gültigen WP-Theme-Code schreibe, aber ich stolpere über das folgende Problem bezüglich der Entweichen vor der Ausgabe.

Wenn ich versuche, echo wp_oembed_get( 'https://www.youtube.com/watch?v=someidhere' ); es funktioniert wie erwartet – ich bekomme ein schönes YouTube-Video auf der Seite.

ABER – phpts wirft eine expected next thing to be an escaping function, not wp_oembed_get was nicht sehr überraschend ist, da Sie alles am Punkt der Ausgabe entkommen sollen.

Ich kann wp_kses_post() (das Video wird einfach nicht wp_kses_post() – keine Ausgabe) oder eine andere Escape-function.

Wie würde ich darüber gehen und sicherstellen, dass ich die phpcs-Standards erfülle?

Solutions Collecting From Web of "wie man wp_oembed_get für phpcs entkommt"

Beachten Sie, dass die WPCS-Standards für PHPCS nicht “offiziell” sind. Ich bin einer der Betreuer und alles, was wir tun können, ist, unser Bestes zu geben, um den Standards zu entsprechen, die WordPress vorschlägt. In diesem Fall bin ich mir nicht sicher, wie Sie die Ausgabe von wp_oembed_get() . Die function muss in der Tat maskiert werden, da der zurückgegebene Wert mehrere Filter durchläuft und möglicherweise rohen nicht validierten HTML-Code vom oEmbed-Provider enthält.

Wenn Sie dem oEmbed-Provider, den Filtern und Ihrer Netzwerkverbindung vertrauen, wäre eine Option, diese Codezeile auf die weiße Liste zu setzen:

 echo wp_oembed_get( 'https://www.youtube.com/watch?v=someidhere' ); // WPCS: XSS OK. 

Wenn die URL jedoch vom Benutzer bereitgestellt wird oder nicht, und Sie der Meinung sind, dass es nicht sicher ist, dem / den möglichen Anbieter im Kontext Ihres Plugins zu vertrauen, sollten Sie sich den Rohwert ansehen, der von Ihnen zurückgegeben wird wp_oembed_get() und über das Erstellen einer Whitelist von zu erwartenden HTML-Elementen und Attributen, die an wp_keses() .

Beachten Sie, dass die WordPress-coreentwickler offensichtlich der Meinung sind, dass das Risiko durch die oEmbed-Erkennung nicht sehr groß ist und Benutzer Links in Posts einfügen können und diese automatisch eingebettet werden. WPCS ist einfach superparanoid über diese Dinge, und es ist Sache des Entwicklers zu wissen, wann es in Ordnung ist, seinen Rat mit einem Körnchen Salz zu nehmen. Einer der strengsten Anhänger der Politik der späten Flucht ist wp.com VIP. Ein Blick auf die Entwickler-Dokumentation zeigt jedoch, dass es wp_oembed_get() erlaubt zu verwenden , obwohl es die Verwendung seiner wpcom_vip_wp_oembed_get() Implementierung, wpcom_vip_wp_oembed_get() , für zusätzliche Caching-functionen wpcom_vip_wp_oembed_get() .

wp_oembed_get() Ende sollten Sie sich wahrscheinlich keine Sorgen machen, dass Sie wp_oembed_get() . Wenn Sie das Problem mit dem GitHub Repo von WPCS ansprechen , wird die function möglicherweise sogar zur Standard-Whitelist hinzugefügt.