/** * データをXSSサニタイズする * * Objectや配列型にも対応している。 * @param multi サニタイズ前のデータ * @return サイニタイズ後のデータ * */ function xssSanitaizeAll(data){ if(typeof data == 'object'){ for(k in data){ data[k] = xssSanitaizeAll(data[k]); } } else if (typeof data == 'string'){ if(data.indexOf('<') != -1){ data = data.replace(/</g, '<'). replace(/>/g,'>'); } } return data; }
var data={'kani':"<input value='xxx' />",'neko':'ねこ','musi':{'bata':'バッタ','kanabun':"x<input type='button'>x"}}; data = xssSanitaizeAll(data); console.log(data);
出力
サニタイズ前