Używam strony internetowej Django Contact Form, aby umożliwić odwiedzającym wysyłanie wiadomości e-mail.Czy muszę unikać znaków podczas wysyłania e-maili?
Obecnie jest to znak znikający, dlatego pojedyncze i podwójne cudzysłowy są przekształcane odpowiednio w '
i "
. Wiadomości e-mail będą bardziej czytelne, jeśli cudzysłowy były wyświetlane jako '
i "
.
Rozumiem, dlaczego nigdy nie powinienem umieszczać informacji o użytkownikach na swoich stronach internetowych ze względu na ryzyko związane z xss. Czy istnieje takie samo ryzyko w przypadku e-maili, czy też można przesłać dane wejściowe odwiedzającego bez znaku?
Tak, są to zwykłe wiadomości tekstowe. Myślę, że byłem nadmiernie paranoiczny, martwiąc się, że czytnik e-mail będzie analizować zwykły tekst jako html. – Alasdair
Nie musisz być paranoikiem, ponieważ twój e-mail będzie w formacie zwykłego tekstu, więc klienci "powinni" interpretować go jako zwykły tekst i nie zauważać tagów. – Humphrey
Nie można przekształcić zwykłego tekstu e-mail w e-mail HTML tylko poprzez włączenie HTML w treści. Nagłówek 'Content-Type: text/html' mówi klientowi, że jest to HTML, natomiast' Content-Type: text/plain' jest przeznaczony do wiadomości tekstowych. Jeśli nie ma nagłówka, przyjmuje się domyślną wartość zwykłego tekstu. –