上一篇:在ASP中利用ADO显示Excel文件内容的函数 >>
ASP.NET 验证控件安全隐患
ASp.net 的全部客户端验证控制都是放在一个:
%SystemDrive%\Inetpub\wwwroot\aspnet_client\system_web\1_1_4322
目录下的叫 WebUIValidation.js 的js 里最后的 11_1_4322目录是版本号不同的 .NET 环境这个也不同.
IE 下载文件的机制是 , 如果服务器文件没有改变就不会重新下载,也就是说如果在缓存通过某种方法修改文件而且大小没有改变的话就可以破解开 js 文件的客户端限制,应为asp.NET 的这个 WebUIValidation.js 是不会经常更新的(根本就不更新)
1、到你的 ie 缓存目录 [Internet属性\常规\设置按钮] 可以看到
2、把里面的一个叫 Content.IE5 的目录下的全部目录清除
3、访问你要测试的aspx页(上面一定要有验证控件的那种)
4、看到网页后好了 可以在 Content.IE5 搜索 WebUIValidation[1].js(一般都叫这个名字)
5、拿什么打开都行、找 function ValidatorCommonOnSubmit() 函数
改
event.returnValue = !Page_BlockSubmit;
成
event.returnValue = true;;;;;;;;;;;;;;
大小不变就行 (-:
6、保存在打开刚才那个测试页,点一下提交。
呵呵验证的文本已经出来了但是仍然提交到了服务器看 ie 下面的进度条就会看出来,你花了半天写的“正则表达式”在短短几十秒就 over 了,哭吧。如果你在服务端没有验证的化就很容易将非法数据保存到服务器。
个人以为 ms 的验证控件,就是为了验证用户数据节省用户的时间(MS 也没说这东西安全是吧)但却很容易给初学者一个安全的假想、因为现在有很多用 asp.net 的朋友根部一点不懂 js 确切的说还有可能不懂html.
呵呵这也许就是 Microsoft Visual Studio .NET 强大的功能带来的负面影响吧。
本隐患对老鸟是不会有什么的,反正我个人是不相信 js 脚本验证数据的(包括你自己写的),在客户端验证本来也不可能安全无论如何也要在服务端验证一下。也多写不了多少代码。
测试环境 :Win2000, Microsoft ? .NET Framework 1.1 版
下一篇:WindowsDNA与.net >>
相关文章:
- · Caching in ASP.NET
- · asp论坛在线人数统计研究
- · 为freetextbox1.6.5上传图片加上水印
- · 自定义配置节处理实现个性化web.config
- · 使用xmlhttp为网站增加股市行情查询功能
- · .Net Enterprise服务器可能太早冠上.Net名号了
- · 维护ASP的会话状态
- · 浅谈引用计数
- · 使你的窗体保留在桌面的最上面
- · 研究心得------->Seskin控件包中SeskinEdit汉字问题的解决办法
- · 建立三层结构的ASP应用程序
- · 研究心得------->CPU信息的获得,比较全面的
- · Sender 的??用:所有Edit共用一???^?V格式
- · override deal with window closing in database application
- · C++ 和 Delphi 的函数覆盖(Override)与重载(overload
- · 正确处理ASP动态网页中的容错机制
- · 几例在ASP存储过程的使用方法
- · 实现让每句话的头一个字母都大写
- · 如何尽快释放掉Connection对象建立的连接?
- · Connection对象的应用
- · 利用ASP打造网站论坛DIY
- · Asp中代码与页面的分离
- · 一个ASP版的图片浏览管理器
- · 实现有管理功能的ASP留言板
- · 编译asp应用程序成为exe文件
- · 如何准确定时运行ASP文件
- · ASP整合的一个SQL语句类
- · Jmail发信的实例,模块化随时调用
- · ASP字数计算函数
- · 无刷新随时取得用户当前活动信息
- · ASP自定义函数,仿VBA中域函数DLookup
- · asp中对ip进行过滤限制函数
- · 让ASP程序运行于非Windows平台
- · ASP中实现文件上传方法的研究
- · asp国标转大五码
- · Global.asa文件用法大全
- · 微软建议的ASP性能优化28条守则
- · 在ASP中取得服务器网卡的MAC地址、DNS地址等网络信息
