在数据表绘制参数documentation中说
强烈建议出于安全原因您将此参数转换为整数,而不是简单地回显客户端在draw参数中发送的内容,以防止跨站点脚本(XSS) )攻击
如何将参数强制转换为int有助于防止Cross Site Scripting。?
答案 0 :(得分:0)
你不应该对它做任何事情:-)。在客户端,它由DataTables自动处理。在服务器端,您所做的只是转换为int,然后将其发送回去。此示例显示了服务器端处理的基本初始化:
http://datatables.net/examples/data_sources/server_side.html
和其他攻击DataTables表示两种防止攻击的方法。
<强>预防强>
有两种方法可以阻止此类攻击在您的应用程序中取得成功:
对于第一个选项,服务器端脚本将主动阻止包含有害数据的所有数据写入(即输入)。您可以选择简单地禁止包含任何HTML的所有数据,或者使用HTML解析器来允许&#34; safe&#34;标签。如果采用这种方法,强烈建议您使用已知且经过验证的安全库 - 不要自己编写!
使用渲染功能的第二个选项将在显示数据(即输出)时防止攻击。 DataTables有两个内置的渲染函数,可用于防止XSS攻击; $.fn.dataTable.render.text
和$.fn.dataTable.render.number
。