JavaScript-如何防止javascript 地址栏注入
我们知道一个页面加载完以后可以通过在地址栏中输入:javascript:alert(document.控件名.value="修改的值")这样的方式去改变其中的某个值。想请教一下大家,如果防止用户通过地址栏传来的值改变当前面页里面的控件的值?
先谢谢各位了
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这个好像无法避免吧!不同的浏览器有不同的处理方式,这是浏览器客户端的功能,不受用户所控制的。如果是后台处理程序,比如操作数据库的,在操作前检查前传地址来避免这种情况!
这个功能是浏览器的JavaScript引擎的功能,无法通过程序去控制,目前最好的办法是可以自定义某些觉得危险的系统方法
例如.如果觉得提交表单所用的submit方法危险.
var mySubmit=document.form[0].submit;
document.form[0].submit=function(){
if(!doCheck())return;
//调用原先的submit方法进行提交
mySubmit();
}
function doCheck(){
//检查输入的正确性
if(...)
return true;
else
return false;
}
理论上是可以行得通的.但如果系统方法是只读的,就没办法就这种方式实现了.
这是目前已知的最好的方法了.