前端录网站,记录前端点点滴滴,帮助程序猿快速成长!

JavaScript 跨函数的参数操作

js
先来看个例子。function f(a,b){
  g();
  alert(a+":"+b)
};
function g(){
  f.arguments[1]="我是SB!";
};
f("次碳酸钴","我是要成为海贼王的男人!");

  这个例子中g函数试图修改f函数的参数列表,只有在IE6和Opera上可以修改成功,我觉得这是个Opera的漏洞。且不说修改,光是能访问到就会有一些安全问题吧。下面有这样的情况:一个网站提供了一个API,在这个API中有保存一些机密的数据。而这个API由于一些功能需求使用了回调函数,并且在Ajax之类的功能上进行过封装。这样就可以使用回调函数去窃取用户的机密数据。这不是危言耸听,也不是什么大不了的问题,总之还是要稍微注意一下的。


转载请注明:前端录»JavaScript 跨函数的参数操作