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