模拟被攻击的时候
在输入框里写
<script>alert('hello,我要攻击你了!');</script>
在datagrid-scrollview.js中添加以下代码
//防止标签注入,将标签进行转义
$.extend($.fn.datagrid.defaults, {
onLoadSuccess: function () {
$(this).datagrid("clearSelections");
$(".datagrid-header-check :checkbox").attr("checked", false);
//$(this).data("isReload") &&
if ($(this).datagrid("getRows").length == 0) {
var msg = $("<div style='display:none;margin-top:20px;padding:10px;border:1px solid #AAAAA;background-color:yellow'>搜索无结果!</div>");
msg.insertAfter($(this));
msg.show(200);
setTimeout(function () {
msg.hide(200);
}, 3000);
}
//$(this).data("isReload", true);
},
onUnselect: function (rowIndex, rowData) {
$(".datagrid-header-check :checkbox").attr("checked", false);
},
onSelect: function () {
var tThis = $(this);
if (tThis.datagrid("getRows").length == tThis.datagrid("getSelections").length) {
$(".datagrid-header-check :checkbox").attr("checked", true);
}
return true;
},
loadFilter: function (data) {
//过滤放行部分代码
if(typeof(data.rows[0])!="undefined"){ //判断第一行数据是否包含
if((data.rows[0]).hasOwnProperty("worksheetTypeColumn_custom")){
return data;
}
}
for (var i = 0; i < data.rows.length; i++) {
for (var att in data.rows[i]) {
if (typeof (data.rows[i][att]) == "string") {
data.rows[i][att] = data.rows[i][att].replace(/</g, "<").replace(/>/g, ">");
}
}
}
return data;
}
});
被放行的代码
攻击失效被转成普通文本,没有弹窗了