2009-09-11 31 views
5

我在網站上使用Django Contact Form以允許訪問者發送電子郵件。發送郵件時是否需要轉義字符?

目前,它是轉義字符,因此單引號和雙引號分別轉換爲'"。如果引號顯示爲'",則電子郵件將更具可讀性。

我明白爲什麼我不應該將來自訪問者的非轉義輸入放入我的網頁,因爲有xss的風險。與電子郵件有相同的風險,還是可以發送訪客的非轉義輸入?

回答

4

如果這些是HTML電子郵件,那麼你不會介意逃跑,所以我假設這些是純文本?在這種情況下,您要禁用引用。你可以包裹你的模板的身體

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

讓你獨自留下你的角色。

+0

是的,他們是純文本電子郵件。我認爲我過於偏執,擔心電子郵件閱讀器會將純文本解析爲html。 – Alasdair 2009-09-11 18:42:10

+0

無需偏執,因爲您的電子郵件將採用純文本格式,因此客戶端「應該」將其解釋爲純文本,而不是通知標籤。 – Humphrey 2009-11-30 22:55:25

+0

僅通過在主體中包含HTML,您無法將純文本電子郵件轉換爲HTML電子郵件。 「Content-Type:text/html」標題告訴客戶端它是HTML,而「Content-Type:text/plain」是純文本電子郵件。如果不存在標題,則假定純文本的默認值。 – 2017-12-07 14:52:26

0

我仍然編碼他們是安全的。由於大多數電子郵件客戶端都允許使用圖片,因此無法阻止某人在電子郵件中使用img標籤來說出...獲取某人的IP地址。

+0

像圖片這樣的HTML標籤仍然只有在您故意將MIME標頭包含在郵件中才有效。幸運的是,與IE不同,郵件程序不會執行內容嗅探。 – bobince 2009-09-11 21:41:40

相關問題