白名单Javascript输入

时间:2016-11-16 16:45:27

标签: javascript security sanitization whitelist

我需要执行用户编写的javascript代码。当然我必须假设javascript是恶意的。我在页面中有一个脚本必须与之交互的全局对象,但我不会使脚本能够访问任何其他内容,包括DOM,jQuery和窗口对象。

是否可以修改传入的javascript以删除我未明确列出白名单的任何内容?

例如:

function modField(){
  if(!f.alpha.enabled){
    f.main.enabled = /960/.test(f.productName.text);
    f.name = document.getElementById('#username');
  }

}

清洁后会变成:

function modField(){
  if(!f.alpha.enabled){
    f.main.enabled = /960/.test(f.productName.text);
  }

}

我该怎么做?

0 个答案:

没有答案