Jquery Datatables呈现函数没有';无法防止XSS攻击
我使用jQuery Datatables版本1.10.7,并使用渲染功能来防止XSS攻击:Jquery Datatables呈现函数没有';无法防止XSS攻击,jquery,datatables,xss,Jquery,Datatables,Xss,我使用jQuery Datatables版本1.10.7,并使用渲染功能来防止XSS攻击: "processing" : true, "bJQueryUI" : true, "order" : [ [ 0, "asc" ] ], "columnDefs": [ { "targets": '_all', "render"
"processing" : true,
"bJQueryUI" : true,
"order" : [ [ 0, "asc" ] ],
"columnDefs": [
{
"targets": '_all',
"render": $.fn.dataTable.render.text
}
],
"aoColumns" : [
{
"mData" : "name",
"defaultContent" : " "
},
表行:
<tr><td class="sorting_1"><script>alert('XSS !!');</script></td></tr>
alert('XSS!!');
呈现函数不能阻止XSS攻击,javascript代码在加载datatable时执行
提前感谢您的帮助 您需要将渲染器作为函数引用,而不是作为变量引用引用,正如文档中明确指出的那样。i、 e
$.fn.dataTable.render.text()
将其用作函数时,我遇到以下错误:>未捕获类型错误:$.fn.dataTable.render.text不是函数这是因为您使用的DataTables版本中不包括$.fn.dataTable.render.text()。这是同一笔交易,你接受的答案是完全错误的。如果使用$.fn.dataTable.render.text
,错误将消失,但唯一的原因是您实际说的是render:null
$.fn.dataTable.render.text()
是在版本1.10.10中添加的->我制作此小提琴是为了演示概念验证->尝试注释render:$.fn.dataTable.render.text()
…升级到最新版本后,问题得到解决。谢谢大卫康拉德