在extjs中的分页工具栏的数字字段中的xss注入

时间:2017-05-15 07:29:24

标签: javascript extjs extjs6 extjs-grid

我遇到了网格的extjs 6分页工具栏的安全问题。我能够在分页工具栏的数字域中注入xss脚本。

以下是寻呼网格的小提琴。 grid Fiddle link

尝试在分页工具栏输入字段中粘贴此代码以复制问题:     <img src=-x onerror="alert (0)";/>

我希望停止这个xss注入。非常感谢任何帮助。

3 个答案:

答案 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)

您可以使用正则表达式屏蔽字母表,因为数字字段仅包含数字。请检查此信息。