利用ASP.NET的内置功能抵御Web攻击

ASP.NET 开发人员应当始终坚持的做法

如果您正在阅读本文,可能就不需要再向您灌输 Web 应用程序中的安全性愈来愈重要这一事实了。您需要的可能是一些有关如何在 ASP.NET 应用程序中实现安全性的实际建议。坏消息是,没有任何开发平台 — 包括 ASP.NET在内 — 能够保证一旦采用了该平台,您就能够编写百分百安全的代码。谁要是这么说,一准在撒谎。好消息是,就 ASP.NET 来说,ASP.NET,特别是版本 1.1 和即将发行的版本 2.0,集成了一些便于使用的内置防御屏障。

光是应用所有这些功能并不足以保护 Web 应用程序,使其免受任何可能和可预见的攻击。但是,如果与其他防御技巧和安全策略相结合,内置的ASP.NET 功能将可以构成一个强大的工具包,有助于确保应用程序在安全的环境中运行。

Web 安全性是各种因素的总和,是一种范围远超单个应用程序的策略的结果,这种策略涉及数据库管理、网路配置,以及社会工程和 phishing。

本文的目的在于说明 ASP.NET 开发人员为了将安全标准保持到合理的高度,所应始终坚持的做法。这也就是安全性最主要的内容:保持警惕,永不完全放松,让坏人越来越难以发起黑客攻击。

下面我们来看看 ASP.NET 提供了哪些可以简化这项工作的功能。

返回页首

威胁的来源

在表 1 中,我汇总了最常见的Web 攻击类型,以及应用程序中可能导致这些攻击得手的缺陷。

攻击 攻击的可能发起人

跨站点脚本 (XSS)

回显到页的不可信用户输入

SQL 注入

串连用户输入以形成 SQL 命令

会话劫持

会话 ID 猜测和失窃的会话 ID Cookie

一次单击

通过脚本发送的未被察觉的HTTP 张贴

隐藏域篡改

未检查(且受信)的隐藏域被填充以敏感数据

表 1. 常见的Web 攻击

列表中显现出来的关键性事实有哪些?在我看来,起码有以下三点:

• 无论您何时将何种用户输入插入浏览器的标记中,您都潜在地将自己暴露在了代码注入攻击(任何 SQL 注入和 XSS 变种)之下。

• 必须以安全的方式实现数据库访问,就是说,应当为数据库使用尽可能少的权限,并通过角色来划分各个用户的职责。

• 永远都不通过网络发送敏感数据(更别说是明文了),并且必须以安全的方式将敏感数据存储在服务器上。

时间: 2024-11-18 02:40:03

利用ASP.NET的内置功能抵御Web攻击的相关文章

利用 ASP.NET 的内置功能抵御 Web 攻击

asp.net|web|攻击 摘要: Dino 总结了最常见的 Web 攻击类型,并介绍了 Web 开发人员可以如何使用 ASP.NET 的内置功能来改进安全性. 一.ASP.NET 开发人员应当始终坚持的做法 如果您正在阅读本文,可能就不需要再向您灌输 Web 应用程序中的安全性愈来愈重要这一事实了.您需要的可能是一些有关如何在 ASP.NET 应用程序中实现安全性的实际建议.坏消息是,没有任何开发平台 - 包括 ASP.NET在内 - 能够保证一旦采用了该平台,您就能够编写百分百安全的代码.

用win7内置功能调整分区的方法

  如何利用win7的内置功能调整分区呢,下面就是详细的操作技巧: Step1:进入系统管理界面.在开始菜单中找到计算机/在计算机上点击右键选择管理/进入存储中的磁盘管理. Step2:压缩已有分区.找到所需要调整的硬盘,可以看到图形化的分区示意图.在需要缩小的分区上点击右键/选择压缩卷/软件会自动计算可以压缩的大小,如果可压缩数值比较小最好先进行碎片整理/输入一个压缩数值,点击压缩.等操作完成后,将会在原有分区后部出现未分配空间. step3:创建新分区.在未分配空间上点击右键选择新建简单卷/

利用ASP实现三个强大功能(目录)

利用ASP实现三个强大功能 为Web站点添加拼写检查功能 许多开发者都提出"如何对用户输入的内容进行拼写检查"的问题,这篇文章正好提供了一个有用的方法,讨论如何使用XDE拼写检查组件,它既可以当作拼写检查器,同时也可以做完一个字典.关于这个组件的一个好消息是:它能够在服务器端使用,或者做为一个Java Applet.但是有一点,这些方便之处不是免费的,它要花费大约100美元.然而,该组件提供了一个30天免费使用评估版本,所以在真正决定购买前,你可以仔细进行测试,认真考虑是否满足需要.

详解ASP.NET的内置对象

ASP.NET的内置对象介绍 1.Response 2.Request 3.Server 4.Application 5.Session 6.Cookie Request对象主要是让服务器取得客户端浏览器的一些数据,包括从HTML表单用 Post或者GET方法传递的参数.Cookie和用户认证.因为Request对象是Page对象 的成员之一,所以在程序中不需要做任何的声明即可直接使用:其类名为 HttpRequest属性很多,但方法很少,只有一个BinaryRead() 1.使用Request

利用ASP实现三个强大功能(一)

利用ASP实现三个强大功能 1.为Web站点添加拼写检查功能 许多开发者都提出"如何对用户输入的内容进行拼写检查"的问题,这篇文章正好提供了一个有用的方法,讨论如何使用XDE拼写检查组件,它既可以当作拼写检查器,同时也可以做完一个字典.关于这个组件的一个好消息是:它能够在服务器端使用,或者做为一个Java Applet.但是有一点,这些方便之处不是免费的,它要花费大约100美元.然而,该组件提供了一个30天免费使用评估版本,所以在真正决定购买前,你可以仔细进行测试,认真考虑是否满足需要

搜狗浏览器 首页-搜狗浏览器内置功能《我的最爱》新闻版块的聚合功能研究

问题描述 搜狗浏览器内置功能<我的最爱>新闻版块的聚合功能研究 巨神们,搜狗浏览器的首页中有个<我的最爱>功能页面,有办法把他的聚合功能扣出来么,放到我自己的网页里面??急求.. 解决方案 牛 .

如何利用Mac OS X内置工具生成强密码

  Mac OS X内置的"钥匙串访问"(Keychain Access)不但可以为用户保存账户名/密码,还具有密码强度测试与强密码自动生成功能,来看使用方法: 1. 在应用程序-实用工具里,打开"钥匙串访问",选择menubar上的"文件-新建密码项",点击底部右下角的"问号"按钮,弹出"密码助理"窗口 2. 在"密码助理"中可以生成各种类型与质量的密码,在类型里可以选择"手

asp.net创建内置数据库的问题

问题描述 在学习时,我们经常直接在vs里面创建一个新的数据库,很简单,很方便.但有一个小问题,就是你打开sqlserver,然后设置sqlserver为身份认证启动,就是说用用户名和密码登陆那种,同时把windows系统用户的登陆权限设置为"禁止"(这一定要设哦),现在你再试一下在vs里新建内置数据库,发现不能创建了,说windows系统用户被禁用,而且也不给你方法用sqlserver账号登录.这个问题有点转牛角尖. 解决方案 解决方案二:vs的调用的windows登录账户被禁止访问数

关于asp.net中内置常用对象的属性方法

问题描述 大家能否告诉我下你你们做项目中经常用的内置对象的属性方法........谢谢各位!! 解决方案 解决方案二:Response,Application,Request,Session看LX怎么说解决方案三:你想干什么?解决方案四:你想让人把本该一本书的内容在这里用不超过10000个字符的篇幅浓缩出来?解决方案五:慢慢整...解决方案六:该回复于2012-04-20 11:55:03被版主删除解决方案七:多看书吧解决方案八:引用2楼的回复: 你想干什么? 我想知道常用是什么........