ASP.NET 验证控件安全隐患

asp.net|安全|安全隐患|控件

本文就是给过分相信,ms asp.net 验证控件的,和 js 验证的朋友的一个忠告!请不要用本方法去黑人。

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 版

时间: 2024-08-25 13:44:28

ASP.NET 验证控件安全隐患的相关文章

ASP.NET验证控件祥解

asp.net|控件 ASP.NET是微软推出的下一代WEB开发工具,其强大的功能立即吸引了一大批WEB开发者投入它的靡下.现在,我们来看看ASP.NET的验证控件,感受ASP.NET的强大功能同时方便我们现在的WEB开发. WEB开发者特别是ASP开发者,一直对数据验证比较恼火,当你好不容易写出数据提交程序的主体以后,还不得不花大把时间去验证用户的每一个输入是否合法.如果开发者熟悉javascript或者VBScript,可以用这些脚本语言轻松实现验证,但是又要考虑用户浏览器是否支持这些脚本语

ASP.NET验证控件祥解(转)

asp.net|控件 ASP.NET验证控件祥解 ASP.NET是微软推出的下一代WEB开发工具,其强大的功能立即吸引了一大批WEB开发者投入它的靡下.现在,我们来看看ASP.NET的验证控件,感受ASP.NET的强大功能同时方便我们现在的WEB开发. WEB开发者特别是ASP开发者,一直对数据验证比较恼火,当你好不容易写出数据提交程序的主体以后,还不得不花大把时间去验证用户的每一个输入是否合法.如果开发者熟悉JavaScript或者VBScript,可以用这些脚本语言轻松实现验证,但是又要考虑

转:ASP.NET验证控件详解

asp.net|控件|详解 ASP.NET验证控件详解 ASP.NET是微软推出的下一代WEB开发工具,其强大的功能立即吸引了一大批WEB开发者投入它的靡下.现在,我们来看看ASP.NET的验证控件,感受ASP.NET的强大功能同时方便我们现在的WEB开发. WEB开发者特别是ASP开发者,一直对数据验证比较恼火,当你好不容易写出数据提交程序的主体以后,还不得不花大把时间去验证用户的每一个输入是否合法.如果开发者熟悉JavaScript或者VBScript,可以用这些脚本语言轻松实现验证,但是又

asp.net 验证控件不是服务器端控件么? 那它是怎样做到客户端验证的?

问题描述 asp.net 验证控件不是服务器端控件么? 那它是怎样做到客户端验证的? 如题 在提交表数据前 都会有各种验证 有一部分验证适合在客户端做 比如验证"用户名有没填" 理解的客户端验证的好处之一是就是验证了数据 还不增加服务器压力. 这样一来 就搞不懂asp.net的验证控件的原理了 问题1:它真的包括了客户端的验证吗?怎么做的在哪里? 问题2:它是服务器端控件每个动作都会往返一次服务器,如果它真的包括客户端验证,那这个客户端验证还有意义吗? 解决方案 服务端控件其实封装了j

asp.net验证控件气泡提示效果源代码

asp.net|源代码|验证控件|气泡 [用途:]       本程序能改善asp.net的验证控件的显示效果,用比较人性化的气泡提示来替换掉原来枯燥的界面提示,并带有"关闭提示"的功能,有效的解决了一个输入框带多个验证控件时,显示错误提示信息不在同一个地方的缺陷,也有效解决了验证控件占用页面提示信息版面的缺陷. [效果截图:] [使用方法:] 将WinValidatorFiles文件夹copy到站点根目录,然后在 </form>之后插入如下代码:<script ty

为什么asp.net 验证控件在win2003 sp2环境下引起按钮事件不响应?

问题描述 该页面在没有安装SP2时工作正常,安装SP2后按钮点击没有反映?为什么?

asp.net夜话之九:验证控件(一)

本篇要讲述的知识点如下: 数据验证介绍 纯客户端脚本验证 asp.net验证控件概述 RequiredFieldValidator控件 CompareValidator控件 RangeValidator控件 正则表达式 RegularExpressionValidator控件 CustomValidator控件 ValidationSummary控件 分组校验技术 数据验证介绍 在我们的开发中要提高网站的健壮性,为了做到这些笔者曾经在企业培训时候提到了两个原则: 第一条原则:就是尽量减少让用户输

初识ASP.NET---ASP.NET中验证控件的用法

一.前言         在Web应用程序中,大都是对数据的提供或收集,对于数据的有效性验证是非常重要的,验证就是给所收集的数据应用的一系列规则.         为进行有效性验证而收集的数据来自于在应用程序中提供的Web窗体,Web窗体由不同的类型的HTML元素组成,可以对窗体元素应用不同的验证规则,对元素应用的规则越多,应用到数据上的有效性验证就越严格.          验证可以有客户端和服务器段的验证.客户端的验证主要是用JavaScript脚本,效率高,响应时间短,但安全性不好:服务器

asp.net-ASP.NET验证控件失效,无法判断规则

问题描述 ASP.NET验证控件失效,无法判断规则 事情是这样的今天白天输入学生信息还可以判断是否为空之类的 到今天晚上就无法判断,直接就添加成功了 解决方案 验证是在后台.前台都有验证吗,空格之类的再看看?看下生成的html.