2017-05-15 3 views
2

Ich habe ein Sicherheitsproblem mit extjs 6 Paging-Symbolleiste für Grid. Ich bin in der Lage, XSS-Skript in Numberfield der Paging-Symbolleiste zu injizieren.XSS-Injektion im Nummernfeld der Paging-Symbolleiste in Extjs

Im Folgenden ist die Geige mit einem Paging-Raster. grid Fiddle link

try Einfügen dieser Code in dem Paging-Symbolleiste Eingabefeld, das Problem zu reproduzieren: <img src=-x onerror="alert (0)";/>

Ich mag diese xss Injektion stoppen. Jede Hilfe wird sehr geschätzt.

Antwort

0

Eine Option: Die Paging-Symbolleiste besteht aus einem Nummernfeld.

http://docs.sencha.com/extjs/6.0.1/classic/src/Paging.js.html

einen Zuhörer zu diesem Feld hinzufügen und die Eingabe vor der Verarbeitung überprüfen.

+0

Ich kann nicht herausfinden, welches Ereignis zu hören ist. Kannst du versuchen, die Geige zu aktualisieren? Der Alarm wird beim Einfügen des Codes in das Nummernfeld und vor dem Senden der Daten zur Verarbeitung angezeigt. –

0

Sie können Regex zum Maskieren von Alphabeten verwenden, da das Zahlenfeld nur die Nummer enthält.Überprüfen Sie dies.

+0

Können Sie bitte die Geige aktualisieren und teilen Sie es. Da das Problem beim Einfügen des Codes auftritt. –

+0

ok bitte geben Sie mir etwas Zeit, die ich hier bearbeiten werde. – Tejas

1

Eine Möglichkeit, dies zu beheben, besteht darin, den Nummernfeld-Eingangstyp der Seitenleiste in Nummer zu ändern. Sie haben Zugriff auf Numberfield Dom im Nachrender.

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'; 
       } 
      } 
     }] 
Verwandte Themen