浅谈ASP.net安全编程
在Web编程过程中,存在着很多安全隐患。比如在以前的ASP版本中,Cookie为访问者和编程者都提供了方便,并没有提供加密的功能。打开IE浏览器,选择“工具”菜单里的“Internet选项”,然后在弹出的对话框里单击“设置”按钮,选择“查看文件”按钮,在弹出的窗口中,就会显示硬盘里的缓存数据,其中就有大量的Cookie文件。如图1所示。问题是,这样安全吗?
于是,我们会想到很多安全措施,比如使用SSL、建立网上银行一样的强认证方式等,但是,对于大部分网站而言,可能这些方法具有一定的困难性,因为要实现这些比较强的安全措施,最起码需要一台服务器,在经济上显然不是小数目。那么,有没有比较经济的方法来解决这类问题呢?答案是肯定的,现在.NET构架在System.Security.Cryptography命名空间里提供了许多加密类可以利用,包括安全的数据编码和解码以及散列法、随机数字生成和消息身份验证。下面,我们来看看几个比较典型的例子,以供参考。
实现ASP.net表单的安全提交
使用ASP.NET环境下的电子邮件功能,我们可以容易的实现发送电子邮件。可能我们会说,不用ASP.NET,直接使用HTML,也可以实现以上功能。其实,这是完全不一样的:使用HTML,用户提交信息的时候,是调用客户端的邮件收发软件,使用用户的邮箱发送表单信息,如果用户没有邮箱或者用户没有邮件收发软件,就不能提交信息;而采用ASP.NET,可以使用服务器端(程序设计者)提供的邮箱和SMTP服务器,也不需要客户安装邮件收软件,一切都直接在服务端完成,显然更加适合我们的要求。现在,我们就来看以上功能的代码实现。首先,我们来看网页界面实现的关键代码:
<Form id="form1" runat="server">
姓名: <asp:TextBox id="txtFname" runat="server" />
地址: <asp:TextBox id="txtAddr" runat="server" />
内容: <asp:TextBox id="txtContent" runat="server" />
<asp:Button id="btnEmail" Text="提交" onclick="doEmail" runat="server" />
</Form>
以上只是很简单的几个提交项,在实际中,我们可以根据需要增加。还是根据上述例子,因为需要用到电子邮件功能,所以,我们需要引入Email名字空间:<%@ Import Namespace="System.Web.Mail" %>;然后,我们来实现按钮btnEmail的点击事件:
Sub doEmail(Source as Object, E as EventArgs)
Dim sMsg as String
sMsg+="提交信息:
相关文档:
1
private void Focus(string sDomID)
{
RegScript("focus", "document.getElementById(\"" + sDomID + "\").focus();");
  ......
页面事件顺序是固定的,但页面上的控件事件则依赖具体页面和用户的操作。如果控件的AutoPostBack属性设置为true(默认值为false),那么将立刻引起页面回发,即页面中各个控件的值回传到Web服务器上,引发相应事件,由事件的处理程序处理。处理完成后如果没有跳转指令,该页面 ......
可以使用 ISAPI 筛选器在 IIS Web 服务器级别实现 URL 重写,也可以使用 HTTP 模块或 HTTP 处理程序在
ASP.NET 级别实现 URL 重写。本文重点介绍如何使用 ASP.NET 实现 URL 重写,因此我们将不对使用 ISAPI 筛选器实现
URL 重写的细节进行深入探讨。但是,有大量的第三方 ISAPI 筛选器可用于 URL 重写,例如: ......
今天在开发中,遇到了一个问题:
在Header中有一个搜索输入框,搜索按钮是Button控件,在“资讯文章搜索”用户自定义控件中也用到了Button控件。
将焦点停在“资讯标题或内容”输入框中,回车,但是相应的是Header中输入框内容。
原 ......
摘要
在这篇文章中,Masoud讨论了应用ASP.NET中统一身份验证模型进行跨应用程序验证的问题,包括:Membership Providers, web.config配置,配置文件的加密解密等。在文章的最后,作者提供了通过ASP.NET login controls来验证的程序。
by Masoud Tabatabaei:
目录
简介
什么是SSO?它是怎样工作的?
系统条件 ......