【问题标题】:Datatables server side processing draw parameter数据表服务器端处理绘制参数
【发布时间】:2016-03-28 19:32:51
【问题描述】:

在datatable中绘制参数documentation表示

出于安全原因强烈建议将此参数转换为整数,而不是简单地将它在 draw 参数中发送的内容回显给客户端,以防止跨站点脚本 (XSS ) 攻击

如何将参数强制转换为 int 有助于防止 Cross Site Scripting.?

【问题讨论】:

    标签: datatables


    【解决方案1】:

    你不应该对它做任何事情:-)。在客户端,它由 DataTables 自动处理。在服务器端,您所做的只是转换为 int,然后将其发回。这个例子展示了服务器端处理的基本初始化:

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

    对于其他攻击,DataTables 指出了两种防止攻击的方法。

    预防

    有两种方法可以阻止此类攻击在您的应用程序中成功:

    1. 禁止提交任何有害数据
    2. 使用渲染函数对所有不受信任的输出进行编码。

    对于第一个选项,您的服务器端脚本会主动阻止所有包含有害数据的数据写入(即输入)。您可以选择简单地禁止所有包含任何 HTML 的数据,或者使用 HTML 解析器来允许“安全”标签。如果您采用这种方法,强烈建议您使用已知且经过验证的安全库 - 不要自己编写!

    使用渲染函数的第二个选项将在显示数据(即输出)时防止攻击。 DataTables 有两个内置的渲染函数,可以用来防止 XSS 攻击; $.fn.dataTable.render.text$.fn.dataTable.render.number

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

    【讨论】:

    • 您没有回答 OP 问题,“如何将参数强制转换为 int 有助于防止跨站脚本。?”。
    猜你喜欢
    • 1970-01-01
    • 2014-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多