Im Codex für wp_insert_post () heißt es, dass diese Funktion "... Variablen bereinigt , einige Überprüfungen durchführt, fehlende Variablen wie Datum / Uhrzeit usw. ausfüllt" (BEARBEITEN: Ich habe den Codex-Eintrag mit einem robusteren Beispiel aktualisiert das beinhaltet Sicherheit sowie Post-Meta und Kategoriezuweisung)
Ich frage mich nur, ob ich eine weitere Desinfektion durchführen muss, um XSS-Hacks und dergleichen zu verhindern, oder ob über die Funktion genug getan wird.
Um ehrlich zu sein, habe ich die Funktion in core durchgesehen und beispielsweise auf post_content keine wp_kses () - oder andere bereinigungsmaßnahmen gefunden, also bin ich ein wenig besorgt. Alles, was ich sehen kann, ist strip_deep () für die Daten.
Soll ich also wp_kses () oder etwas anderes ausführen, wenn ich meine Argumente für wp_insert_post () erstelle?
Was ist die beste Vorgehensweise hier? Der Codex ist in Bezug auf Sicherheit in seinem Beispiel ziemlich unbekümmert.
Vielen Dank
quelle
<script>
?Antworten:
Du musst nichts tun.
Beim Laden von WP:
'init' hook -> kses_init() -> kses_init_filters()
Später:
wp_insert_post() -> sanitize_post() -> sanitize_post_field() -> 'content_save_pre' -> wp_filter_post_kses()
Ähnliches gilt für Beitragstitel, Kommentartexte usw.
Fazit: wp_insert_post () ist sehr bereinigt. :)
quelle