Sto utilizzando Django Contact Form su un sito Web per consentire ai visitatori di inviare e-mail.Devo sfuggire ai caratteri durante l'invio di e-mail?
Attualmente, sta sfuggendo ai caratteri, quindi le virgolette singole e doppie vengono convertite rispettivamente in '
e "
. Le e-mail sarebbero più leggibili se le virgolette fossero visualizzate come '
e "
.
Capisco perché non dovrei mai inserire input non visitati dai visitatori nelle mie pagine Web, a causa del rischio di xss. C'è lo stesso rischio con le e-mail, o è giusto inviare l'input senza escape del visitatore?
Sì, sono semplici email di testo. Penso di essere stato eccessivamente paranoico, preoccupato che un lettore di e-mail analizzasse il semplice testo come html. – Alasdair
Non c'è bisogno di essere paranoici, dato che la tua e-mail sarà in formato di testo normale, quindi i client "dovrebbero" interpretarla come testo semplice e non notare i tag. – Humphrey
Non è possibile trasformare un'e-mail in testo normale in un messaggio di posta elettronica HTML semplicemente includendo l'HTML nel corpo. L'intestazione 'Content-Type: text/html' dice al client che è HTML, mentre' Content-Type: text/plain' è per email in chiaro. Se non è presente un'intestazione, viene assunto il valore predefinito di testo normale. –