2010-03-24 177 views
0

如果我有要發佈的xml/html數據,我們需要對數據進行編碼以避免XSS驗證。所以我們應該爲此使用HTMLencode或URI編碼。URI編碼和HTML編碼

如果使用URI編碼,會導致問題,因爲表單POST會自動在發送前對所有數據進行URI編碼。

回答

1

XSS是由於向客戶端提供污染數據而導致的問題。在發佈數據時無法解決。

爲了防止這種情況發生,HTML在將數據放入HTML文檔之前立即進行編碼。

+0

謝謝大衛,那麼uri編碼呢?可以用它代替HTML編碼嗎?我的意思是uri編碼數據,然後放在窗體隱藏元素和服務器端解碼? – 2010-03-24 08:08:56

+0

這只是讓人難以閱讀。使用HTML編碼將東西放入HTML中。 – Quentin 2010-03-24 11:26:13

1

記住:過濾器輸入,轉義輸出

  1. 將其放置在一個數據庫中之前,始終過濾輸入(以避免SQL注入等)
  2. 逃逸輸出通過濾波/它發送到客戶機的動態內容編碼任何HTML之前。
+0

嗯 - 爲了避免SQL注入,您可以爲數據庫轉義數據。 – Quentin 2010-03-24 07:34:48

+0

@David:是的。你想說什麼?我應該說「逃生輸入,逃生輸出」,而不是? – 2010-03-24 08:52:53

+0

過濾器(特別是當你把它放在轉義旁邊)建議從數據中刪除東西,而不是用安全等價物替換它們。例如,您可以使用篩選來阻止將垃圾郵件插入到數據庫中。 – Quentin 2010-03-24 11:28:05