Domanda

Sto usando Modulo di contatto Django su un sito web per consentire ai visitatori per inviare e-mail.

Attualmente sta sfuggendo ai caratteri, quindi le virgolette singole e doppie vengono convertite rispettivamente in & amp; # 39; e & amp; quot; . Le e-mail sarebbero più leggibili se le virgolette fossero visualizzate come ' e " .

Capisco perché non dovrei mai inserire input senza caratteri di escape dai visitatori nelle mie pagine Web, a causa del rischio di xss. Esiste lo stesso rischio con le e-mail o è consentito inviare l'input senza caratteri di escape del visitatore?

È stato utile?

Soluzione

Se si tratta di e-mail HTML, non ti dispiacerebbe la fuga, quindi suppongo che siano di testo semplice? Nel qual caso si desidera disabilitare il preventivo. Puoi avvolgere il corpo del modello in

{% autoescape off %}
...
{% endautoescape %}

per lasciare soli i tuoi personaggi.

Altri suggerimenti

Li codificherei comunque per sicurezza. Poiché la maggior parte dei client di posta elettronica consente immagini, nulla impedisce a qualcuno di utilizzare un tag img in un'e-mail per dire ... ottenere l'indirizzo IP di qualcuno.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top