ASP编程:有关sql注进
ActiveServerPage技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论ASP的安全性问题之前,让我们来看看ASP是怎么工作的。人人存在5点误区:1、sql注进对照难防,必要交换select,delete等一打字符
实在关于字符型交换再多都没有交换单引号为两个单引号来的好!关于数字型交换再多都没有效,必定要范例转换。
2、疏忽DropDownList传来的器材
实际上是不合错误的,统统客户真个器材都是不成信托的,select下拉框也是!由于能够本人做一个htm提交到服务器。
3、access比sqlserver不平安
平安不平安关头看怎样用,假如sqlserver仍是像access一样用,一个sa帐户的话,很分明,sqlserver比access不平安,能够间接失掉表名和字段名!access反而倒平安点了,由于只能经由过程逐位猜解失掉。
4、网站没有显现堕落信息就申明网站是平安的
当有纪录的时分显现纪录,没有纪录的时分显现找不就任何纪录,经由过程这两种形态就能够猜解字段名了,以是网页不堕落不克不及申明是平安的
5、疏忽post提交的信息
良多人对url上传送的器材过滤严厉,关于post的器材不睬不理是不合错误的,post的器材加倍简单被注进,由于一样平常字段对照多
在asp.net中激烈倡议经由过程参数来完成sql而不是sql拼接,由于就算你每个都过滤百密难有疏
好比:
SqlConnectionconn=newSqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]);
SqlCommandcomm=newSqlCommand("updatetb1setvName=@vName,iAge=@iAgewhereID=@id",conn);
SqlParameterparm1=newSqlParameter("@vName",SqlDbType.NVarChar,50);
parm1.Value=((TextBox)e.Item.FindControl("name")).Text;
SqlParameterparm2=newSqlParameter("@iAge",SqlDbType.Int);
parm2.Value=((TextBox)e.Item.FindControl("age")).Text;
SqlParameterparm3=newSqlParameter("@id",SqlDbType.Int);
parm3.Value=this.DataGrid1.DataKeys;
comm.Parameters.Add(parm1);
comm.Parameters.Add(parm2);
comm.Parameters.Add(parm3);
conn.Open();
comm.ExecuteNonQuery();
conn.Close();
如许的代码看起来恬逸并且又平安,何乐不为?
</p>因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。还无法完全实现一些企业级的功能:完全的集群、负载均横。 在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。 Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名") 如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助: 我想问如何掌握学习节奏(先学什么再学什么)最好详细点? 作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。 最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。 没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。 以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
页:
[1]