【发布时间】:2012-04-04 13:57:58
【问题描述】:
如果我从服务器返回包含 javascript 的 JSON 并通过 addJSONData 将其填充到 jqGrid,即使我在选项中有 autoencode = true 也会执行它。为了防止 XSS,我不得不以这种方式修改 jqGrid 的 addCell 函数
var v,prp;
// This if block has been added
if(ts.p.autoencode) {
cell = $.jgrid.htmlEncode(cell);
}
v = formatter(rowId,cell,pos,srvr,'add');
prp = formatCol( pos,irow, v, srvr, rowId, true);
return "<td role=\"gridcell\" "+prp+">"+v+"</td>";
这是防止 XSS 的正确方法还是 jqGrid 中有其他方法可以做到这一点?
【问题讨论】: