2016-03-28 60 views

回答

0

你不應該對它做任何事情:-)。在客戶端,它由DataTables自動處理。在服務器端,您所做的只是將其轉換爲int,然後將其發回。這個例子顯示了服務器端處理的基本初始化:

http://datatables.net/examples/data_sources/server_side.html

和其他攻擊的數據表表明兩種方法可以防止攻擊。

預防

有兩種選擇,被成功應用程序阻止這種類型的攻擊:

  1. 被提交
  2. 編碼使用的所有不可信輸出禁止任何對人體有害的數據渲染功能。

對於第一個選項,您的服務器端腳本將主動阻止包含有害數據的所有數據寫入(即輸入)。您可以選擇僅僅禁止包含任何HTML的所有數據,或者使用HTML解析器來允許「安全」標籤。如果你採用這種方法,強烈建議你使用一個已知和經過驗證的安全庫 - 不要自己寫!

使用渲染功能的第二種選擇將防止顯示數據時(即輸出)的攻擊。 DataTables有兩個內置的渲染函數,可以用來防止XSS攻擊; $.fn.dataTable.render.text$.fn.dataTable.render.number

更多信息:https://www.datatables.net/manual/security