防范sql注入式攻击
1.最小权限原则。特别是不要用dbo或者sa账户,为不同的类型的动作或者组建使用不同的账户,最小权限原则适用于所有与安全有关的场合
2.对用户输入进行检查。对一些特殊字符,比如单引号,双引号,分号,逗号,冒号,连接号等进行转换或者过滤;使用强数据类型,比如你需要用户输入一个整数,就要把用户输入的数据转换成整数形式;限制用户输入的长度等等。这些检查要放在server运行,client提交的任何东西都是不可信的
3.使用存储过程,如果一定要使用sq语句,那么用标准的方式组建sql语句,比如可以利用parameters对象,避免用字符串直接拼sq命令。
4.当sql运行出错时,不要把数据库返回的错误信息全部显示给用户,错误信息经常会透露一些数据库设计的细节
上传ASP木马
所谓ASP木马,就是一段有特殊功能的ASP代码,并放入WEB虚拟目录的Scripts下,远程客户通过IE就可执行它,进而得到系统的USE
好久没在上面写自己的东西了,总得等心情烦闷的时候,才想写点什么东西安慰自己。想来想去,烦来烦去,也就那么些事。爸妈,阿利,自己的学业。。。
老爸老妈在我心里永远是最重要的,这样一句话我可以轻易说出口,也确确实实是我心里所想的,可对他们的关心却永远不够,我是那么看重他们,但却没为他们做些什么,有时候想想,我可能没有自己想的那么爱他们吧。
与阿利相处倒很好,他越来越能让我相信他是我可以一辈子相守的人。这一路走来,好像是我的等待换来了他对我的感情,以为自己自尊心很强,看来也不过如此,好在现在过得很好就行了。他做过的让我失望的事情真希望能永远忘掉,可不知道为什么最近老想起以前伤心的事,越想越难过.....
可能心情状态不太好吧,才这么悲观,算了,还是继续看书吧,心情总会平复的!
Inherits='iframetest.WebForm1'
%>
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0 Transitional//EN'
>
<HTML>
<HEAD>
<title>WebForm1</title>
<meta content='Microsoft Visual Studio .NET 7.1'
name='GENERATOR'>
<meta content='C#' name='CODE_LANGUAGE'>
<meta content='JavaScript'
name='vs_defaultClientScript'>
<meta content='http://schemas.microsoft.com/intellisense/ie5' name='vs_targetSchema'>
<STYLE>.aaa {
BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none;
BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #ffcc33;
BORDER-BOTTOM-STYLE: none
}
.bbb {
BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none;
BORDER-LEF
Inherits='iframetest.WebForm1'
%>
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0 Transitional//EN'
>
<HTML>
<HEAD>
<title>WebForm1</title>
<meta content='Microsoft Visual Studio .NET 7.1'
name='GENERATOR'>
<meta content='C#' name='CODE_LANGUAGE'>
<meta content='JavaScript'
name='vs_defaultClientScript'>
<meta content='http://schemas.microsoft.com/intellisense/ie5' name='vs_targetSchema'>
<STYLE>.aaa {
BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none;
BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #ffcc33;
BORDER-BOTTOM-STYLE: none
}
.bbb {
BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none;
BORDER-LEF
总是在心情烦燥郁闷的时候才会想写下点什么东西,这两天真的过得很不好,以为把不开心的事与人倾诉了就能舒服点,想找黑包聊聊,但她太远了,而且她也忙。对阿利,他已经烦心事已经够多了,不想给他增负担;凤啊,爸妈,他们是最想了解,最关心我的人,但越是这样,我越不想让他们担心。
身体不知道怎么搞的越来越糟,我知道是实训做的,但没想到自己体质这么弱,好想能有一个好身体,能有好的精神,哎,乱七八糟的,我真不知道为什么就不能好起来!嗯,为时不晚,我现在得振作起来,好好照顾自己,今天回家的时候爸妈给我磨了花生,本来他们还想每天早上给我送早餐呢,哎,还是爸妈对我最好,但我呢。。。对他们只有满满的愧疚,好想对他们热情、关心点,好想对他们推心至腹,但做起来却很难,我知道是我的问题,但我真的很累~~~~他们两个人就是我的家,而在家里,我只想休息,休息。。。没有面具,没有伪装,只有最真实的自己。这样做我知道伤害了他们,不是说声“对不起”就能弥补得了的,但我愿意尽力改变自己,为他们改变自己!
自考这次不知道能过得过不了一科呢,没剩几天了,想读又不想读,心情容易烦燥,无法
1.创建用户CreateUserWizard控件
在vs2005中创建一个aspx页面,取名CreateUserWizard.aspx。直接从toolbox中拖入一个CreateUserWizard控件,设置一下FinishDestinationPageUrl属性,该属性指示用户创建完成后,用户点击“继续”后定向的页面。
<asp:CreateUserWizard ID='CreateUserWizard1'
runat='server'
ContinueDestinationPageUrl='~/Default.aspx'>
</asp:CreateUserWizard>
现在不做任何设置,在vs2005的中design视图中可以看到

正确设置membership后,注册用户就立马可以使用了,输入用户信息提交,出现下面结果:

角色添加方法很简单:在vs2005中选择 网站->ASP.NET配置->安全->创建或管理角色。跟上面的的配合,我们添加两个角色叫“admin”和'member'。
再选择“创建访问规则”来创建访问规则。给admin文件创建下面规则,如图示:
这样,我们可以针对应用程序的个别文件夹设置
完成数据库的初始化工作之后,就需要对Web.Config进行相应配置。首先,确保在connectionStrings节里面已经配置好可以连接到该数据库的ConnectionString。
<connectionStrings>
<add name='ConnectionString'
connectionString='server=(local);database=membershipdemo;uid=sa;pwd=sa;'/>
</connectionStrings>
接下来,配置membership节和roleManager节,这两个节都拥有providers子节,可以为他们创建多个
provider,每个provider都有connectionStringName的属性,这个属就是与上面connectionStrings相关联的。
<authentication mode='Forms'>
<forms loginUrl='login.aspx'
name='.aspxlogin'/>
</authentication>
<membership
defaultProvider='AspNetSqlMembershipProvider'
userIsOnlineTimeWindow='15' hashAlgo
ASP.NET 2.0中新增的最佳功能之一是新的成员身份服务,它提供了用于创建和管理用户帐户的易于使用的API。ASP.NET
1.x大规模引入了窗体身份验证,但仍然要求您编写相当数量的代码来执行实际操作中的窗体身份验证。成员身份服务填补了ASP.NET
1.x窗体身份验证服务的不足,并且使实现窗体身份验证变得比以前简单得多。
成员身份API通过两个新的类公开:Membership和MembershipUser。前者包含了用于创建用户、验证用户以及完成其他工作的静态方法。MembershipUser代表单个用户,它包含了用于检索和更改密码、获取上次登录日期以及完成类似工作的方法和属性。通过这两个新的类,我们可以不用写一行代码,方便得完成对用户的管理。但是在实际开发过程中,绝对不能满足我们日常开发的需要。经过日常项目的开发和网络上资料的搜索,现将其一一列出:
一、默认的各类的数据库是使用sql express的,而我们在实际开发中往往使用sql sever 2000或者sql
server 2005,这时就需要我们修改数据库的类型。
微软给我们提供了一个Aspnet_regsql的命令来修改默认数据库。打开 Visual Studio 2005
命令提示,输入aspnet_regsql,按照提示一步一步进
建立一个GridView并加上选择列,可以发现'选择' Button对应的脚本格式如下(第五行) onclick='javascript:__doPostBack('GridView1','Select$4')' 所以我们需要给GridView生成的table每一行加一个类似脚本,如下
1
protected void grdView_RowDataBound(object sender, GridViewRowEventArgs e)
2
