2014-08-29 99 views
0

我正在尋找一些關於我目前正在開發的項目的指導\背景實踐等。Asp .net MVC Razor - 從表單發佈HTML

該網站有一個表單,它允許用戶創建一個電子郵件模板。 電子郵件模板只是一個帶有wysiwyg編輯器(bootstrap-wysihtml5)的文本區域。

因此,文本區域將具有基本的html標籤,因此用戶可以格式化電子郵件的外觀。

我的問題是:什麼是最好的\最安全的方式來處理從文本區域回發HTML以避免任何腳本攻擊等?

如果有任何幫助,我確實有電子郵件的HTML標記白名單。

+2

可能dup [如何將HTML保存到數據庫並正確檢索](http://stackoverflow.com/questions/21662766/how-to-save-html-to-database-and-retrieve-it-properly )Darin Dmitrov的答案讓你知道這很好! – user1477388 2014-08-29 14:37:31

+1

閱讀http://eksith.wordpress.com/2012/02/13/antixss-4-2-breaks-everything/並查看使用HTMLAgility pack和AntiXss提供良好解決方案的解決方法。 – 2014-08-29 14:47:34

回答

1

如果你擔心安全比做這些兩兩件事之一:

  • 允許的標籤白名單和限制UI。再次,這將是很多工作和大量的XSS測試。
  • 或接受降價的格式,並轉換到降價HTML服務器

。對於第二個選項,你可以使用http://kevo.io/pagedown-bootstrap/或任何此類降價的編輯器。該工具欄可以幫助不知道降價語法的用戶。

+0

謝謝,我認爲生病看看減價選項 – user2859298 2014-09-01 13:01:27

+0

很高興幫助!如果您發現此答案有用,請不要忘記加註! – Mrchief 2014-09-01 14:17:14

1

假設電子郵件模板將被創建爲授權的interal用戶。

使用[AllowHtml]屬性爲TextArea字段的Model屬性。這對你的要求來說足夠好。