Come disinfettare in sicurezza un'area di testo che accetta input HTML completi


9

Sto sviluppando un plug-in che consente all'utente di inviare e-mail HTML dall'amministratore di WordPress. Come devo disinfettare l'input textarea? Deve essere in grado di contenere l'intera gamma di tag HTML che potrebbero apparire in un'e-mail HTML. Se lo uso, wp_kses()dovrei utilizzare un enorme elenco di tag consentiti.

La textarea salva il suo contenuto nel db tramite opzioni personalizzate.

Risposte:


14

Esiste già un enorme elenco creato per te , che può essere restituito in wp_kses_allowed_html()base al contesto e filtrato tramite il wp_kses_allowed_htmlfiltro, anche contestualmente. La creazione di tale elenco non dovrebbe essere difficile.

Tuttavia, "l'intera gamma di tag HTML che potrebbe apparire in un'e-mail HTML" dovrebbe essere abbastanza vicina all'intervallo consentito per un post ordinario, quindi wp_kses_post()dovrebbe farti fare molta strada con poco sforzo.


Sì, questa è una grande lista. Quindi lo importa solo come parametro, quindi aggiungo gli extra di cui ho bisogno, come <html>e così <body>via
tommyf

Sì, se hai bisogno che i tuoi utenti includano così tanto markup. Genererei quella parte per loro, se fossi in me.
s_ha_dum,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.