我遇到了网格的extjs 6分页工具栏的安全问题。我能够在分页工具栏的数字域中注入xss脚本。
以下是寻呼网格的小提琴。 grid Fiddle link
尝试在分页工具栏输入字段中粘贴此代码以复制问题:
<img src=-x onerror="alert (0)";/>
我希望停止这个xss注入。非常感谢任何帮助。
答案 0 :(得分:1)
解决此问题的一种方法是将分页栏的数字字段输入类型更改为数字。你可以在后现代中访问numberfield dom。
dockedItems: [{
xtype: 'pagingtoolbar',
store: 'simpsonsStore', // same store GridPanel is using
dock: 'bottom',
displayInfo: true,
listeners:{
afterrender:function(pg){
pg.child('[xtype=numberfield]').getEl().dom.getElementsByTagName("input")[0].type='number';
}
}
}]
答案 1 :(得分:0)
一种选择: 分页工具栏由数字字段组成。
http://docs.sencha.com/extjs/6.0.1/classic/src/Paging.js.html
在此字段中添加侦听器并在处理之前检查输入。
答案 2 :(得分:0)
您可以使用正则表达式屏蔽字母表,因为数字字段仅包含数字。请检查此信息。