易截截图软件、单文件、免安装、纯绿色、仅160KB

ASP.net中的validaterequest

这个属性是用来验证客户端用户的输入的,用来验证用户的输入中是否有危险字符的,这个属性的默认值为true,微软之所以这么做是为了提高asp.net程序的安全性,所以很多程序员即使不知道怎么来防御黑客的攻击,asp.net的一些默认属性等内容已经对安全进行了控制,这也是为什么asp.net的程序相对来说比较安全的原因!
  既然这个属性的默认值为true,而且asp.net页面的回发又很频繁,那么如果没有用户的交互的地方,这样asp.net 岂不是每次都要去严整呢,这样也是有可能会来回的损耗系统的执行时间的,至于:如果没有客户端的交互的话,到底asp.net会不会去验证这是微软的工程师的问题了,对于我们来说,如果没有客户端交互的地方,我感觉是应该将此属性设置为 false的,这样的话无论 微软的工程师怎样设计,对我们程序的本身是没有任何影响的!
  直接关闭这个属性的方法是:
  1、在aspx页面的属性里写“validaterequest="false"”
  2、在web.config里设置
<configuration>
   <system.web>
      <pages validateRequest="false"/>
   </system.web>
</configuration>
  但是当需要跟用户交互的地方,我们就要用它的默认值了,可是事情可能并没有我们想象的那么简单,也没有那么完美,当用户在使用一些html编辑器的时候,自己本身提交的字符里就有等这样的字符,这样就要求程序员必须要关闭validaterequest 属性,这个时候我们又该怎样的来控制asp.net页面的安全性能呢?
  当然了,这个地方我们可以来对一切危险字符进行过滤,这样可能提高一些安全性,但是我们防止用户的输入可能考虑的会有遗漏,这样就导致了安全还会是有问题的,我们可以反过来考虑我们到底需要提交多少特殊字符,然后对我们提交的特殊字符进行转义或替换,这样我们就又可以将validaterequest的属性设置为true了,这样既解决了程序的安全问题又满足了我们的需求!
  有时候在与用户进行交互的时候,用户难免的会有输入特殊字符的时候,因为我们设置的validaterequest 的值 为true所以页面会不给任何提示的前提下, 直接输出一大页的错误信息, 这样可能就导致了用户的误解,他们可能认为是我们网站出了问题,用户不可能会想到他输入了非法的字符! 对于这种情况我们又该怎么办呢?
  答案是可以使用Page_Error的处理事件:
protected void Page_Error(object sender, EventArgs e)
    {
 


相关文档:

浅谈ASP.net安全编程

在Web编程过程中,存在着很多安全隐患。比如在以前的ASP版本中,Cookie为访问者和编程者都提供了方便,并没有提供加密的功能。打开IE浏览器,选择“工具”菜单里的“Internet选项”,然后在弹出的对话框里单击“设置”按钮,选择“查看文件”按钮,在弹出的窗口中,就会显示硬盘里 ......

ASP.NET解析xml返回某节点属性的内容

test.xml
<?xml version="1.0" encoding="utf-8" ?>
<root>
    <R SecuCode="601600" Glossary="学IT网测试获取XML结果显示正常,。。。。。。。哈哈" />
    <R SecuCode="600056" Glossary="测试第二个,。。。。。。。哈哈" />
</root>
下面xml解析 ......

ASP.NET2.0分页技术之使用纯sql语句的双top分页篇

Repeater在前台使用比较灵活自由,但有一个问题就是Repeater不支持直接分页,这个很多人看起来就有点不想用了,但我想大家都知道GridView控件或DataGrid控件在启用自带分页的时候其实效率是非常低的,大的不说,一但到了百万级数据以后,就会感觉是多么的痛苦和无耐了,所以即使是用DataGrid(GridView)控件,高手们还是只会 ......

Asp.Net Forms验证文章中最后的web.config文件

<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <system.web>
        <authorization>
            < ......

asp.net缓存的一些基本知识

介绍
缓存是在内存存储数据的一项技术,也是ASP.NET中提供的重要特性之一。例如你可以在复杂查询的时候缓存数据,这样后来的请求就不需要从数据库中取数据,而是直接从缓存中获取。通过使用缓存可以提高应用程序的性能。
主要有两种类型的缓存:
1.输出缓存Output caching
2.数据缓存Data caching
1. 输出缓存(Output ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号