仓酷云

标题: ASP编程:用的ASP防SQL注进打击程序 [打印本页]

作者: 第二个灵魂    时间: 2015-1-16 23:13
标题: ASP编程:用的ASP防SQL注进打击程序
减少客户内IT专业人才缺乏带来的影响。ASP的客户员工利用浏览器进入相关的应用软件,简单易用,无需专业技术支持。程序|打击SQL注进被那些菜鸟级其余所谓黑客妙手玩出了味道,发明如今年夜部分黑客进侵都是基于SQL注进完成的。SQL注进被那些菜鸟级其余所谓黑客妙手玩出了味道,发明如今年夜部分黑客进侵都是基于SQL注进完成的,哎,谁让这个进门简单呢,好了,不说空话了,如今我入手下手说假如编写通用的SQL防注进程序一样平常的http哀求不过乎get和post,以是只需我们在文件中过滤一切post大概get哀求中的参数信息中不法字符便可,以是我们完成http哀求信息过滤就能够判别是是不是遭到SQL注进打击。
  IIS传送给asp.dll的get哀求是是以字符串的情势,,当传送给Request.QueryString数据后,asp剖析器会剖析Request.QueryString的信息,,然后依据"&",分出各个数组内的数据以是get的拦阻以下:
  起首我们界说哀求中不克不及包括以下字符:
援用:
|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare

各个字符用"|"离隔,,然后我们判别的失掉的Request.QueryString,详细代码以下:
援用:
dimsql_injdata
SQL_injdata="|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare"
SQL_inj=split(SQL_Injdata,"|")
IfRequest.QueryString<>""Then
 ForEachSQL_GetInRequest.QueryString
  ForSQL_Data=0ToUbound(SQL_inj)
   ifinstr(Request.QueryString(SQL_Get),Sql_Inj(Sql_DATA))>0Then
    Response.Write"<ScriptLanguage=****>alert(世界影戏同盟SQL通用防注进体系提醒↓nn请不要在参数中包括不法字符实验注进!);history.back(-1)</Script>"
    Response.end
   endif
  next
 Next
EndIf
如许我们就完成了get哀求的注进的拦阻,可是我们还要过滤post哀求,以是我们还得持续思索request.form,这个也是以数组情势存在的,我们只必要再进一次轮回判别便可。代码以下:
援用:
IfRequest.Form<>""Then
 ForEachSql_PostInRequest.Form
  ForSQL_Data=0ToUbound(SQL_inj)
   ifinstr(Request.Form(Sql_Post),Sql_Inj(Sql_DATA))>0Then
    Response.Write"<ScriptLanguage=****>alert(世界影戏同盟SQL通用防注进体系提醒↓nn请不要在参数中包括不法字符实验注进!nnHTTP://www.521movie.com);history.back(-1)</Script>"
    Response.end
   endif
  next
 next
endif
好了半途而废,我们已完成了get和post哀求的信息拦阻,你只必要在conn.asp之类的翻开数据库文件之前援用这个页面便可。宁神的持续开辟你的程序,不必再思索是不是还会遭到SQL注进打击。岂非不是么?
</p>ASP脚本是采用明文(plaintext)方式来编写的。
作者: 精灵巫婆    时间: 2015-1-20 08:27
接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。
作者: 变相怪杰    时间: 2015-1-24 15:25
我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
作者: 灵魂腐蚀    时间: 2015-1-30 22:16
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
作者: 简单生活    时间: 2015-2-1 18:15
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
作者: 金色的骷髅    时间: 2015-2-2 05:10
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
作者: 再现理想    时间: 2015-2-8 07:40
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
作者: 不帅    时间: 2015-2-25 00:18
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
作者: 若相依    时间: 2015-3-7 14:43
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
作者: 蒙在股里    时间: 2015-3-15 07:38
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
作者: 柔情似水    时间: 2015-3-21 20:55
先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2