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

五种常见的ASP.NET安全缺陷

五种常见的ASP.NET安全缺陷
2004-10-18 19:30作者:menhal 出处:动态网制作指南责任编辑:方舟
  保证应用程序的安全应当从编写第一行代码的时候开始做起,原因很简单,随着应用规模的发展,修补安全漏洞所需的代价也随之快速增长。根据IBM的系统科学协会(Systems Sciences Institute)的研究,如果等到软件部署之后再来修补缺陷,其代价相当于开发期间检测和消除缺陷的15倍。
  为了用最小的代价保障应用程序的安全,在代码本身的安全性、抗御攻击的能力等方面,开发者应当担负更多的责任。然而,要从开发的最初阶段保障程序的安全性,必须具有相应的技能和工具,而真正掌握这些技能和工具的开发者并不是很多。虽然学写安全的代码是一个复杂的过程,最好在大学、内部培训会、行业会议上完成,但只要掌握了下面五种常见的ASP.NET应用安全缺陷以及推荐的修正方案,就能够领先一步,将不可或缺的安全因素融入到应用的出生之时。
  一、不能盲目相信用户输入
  在Web应用开发中,开发者最大的失误往往是无条件地信任用户输入,假定用户(即使是恶意用户)总是受到浏览器的限制,总是通过浏览器和服务器交互,从而打开了攻击Web应用的大门。实际上,黑客们攻击和操作Web网站的工具很多,根本不必局限于浏览器,从最低级的字符模式的原始界面(例如telnet),到CGI脚本扫描器、Web代理、Web应用扫描器,恶意用户可能采用的攻击模式和手段很多。
  因此,只有严密地验证用户输入的合法性,才能有效地抵抗黑客的攻击。应用程序可以用多种方法(甚至是验证范围重叠的方法)执行验证,例如,在认可用户输入之前执行验证,确保用户输入只包含合法的字符,而且所有输入域的内容长度都没有超过范围(以防范可能出现的缓冲区溢出攻击),在此基础上再执行其他验证,确保用户输入的数据不仅合法,而且合理。必要时不仅可以采取强制性的长度限制策略,而且还可以对输入内容按照明确定义的特征集执行验证。下面几点建议将帮助你正确验证用户输入数据:
  ⑴ 始终对所有的用户输入执行验证,且验证必须在一个可靠的平台上进行,应当在应用的多个层上进行。
  ⑵ 除了输入、输出功能必需的数据之外,不要允许其他任何内容。
  ⑶ 设立“信任代码基地”,允许数据进入信任环境之前执行彻底的验证。
  ⑷ 登录数据之前先检查数据类型。
  ⑸ 详尽地定义每一种数据格式,例如缓冲区长度、整数类型等。
  ⑹ 严格定


相关文档:

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

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

asp.net后台与前台的互相调用

一.后台调用前台
1.Page.ClientScript.RegisterStartupScript(type,"",script);
例:
string script = string.Format("<script>alert('Wrong');</script>");
Page.ClientScript.RegisterStartupScript(GetType(), "Load", script);
2.对象.Attributes.Add("事件","script")
例:
e.Row.Attributes.Add("on ......

asp.net发布网站时三个选项的问题


asp.net发布网站时三个选项的问题
 
发布网站的时候有三个选项: 
第一个选项指定发布后是不是可以修改aspx文件,如果勾选,则发布后的网站行为基本与ASP.NET   1.1一致,只要没有增删修改控件,可以直接在服务器上修改aspx文件不用重新发布网站。 
第二个选项指定是不是将每个aspx文件都编 ......

asp.net mvc 2 RC 在iis上的部署

一,如果直接把asp.net mvc2 RC 部署在iis5.1上,会出现无法显示页面的情况,原因可能是路径映射没有起作用。
解决办法:
      1.在  routes.MapRoute(
                "Default",    ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号