第二个灵魂 发表于 2015-1-16 23:13:41

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:09

接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。

变相怪杰 发表于 2015-1-24 15:25:20

我想问如何掌握学习节奏(先学什么再学什么)最好详细点?

灵魂腐蚀 发表于 2015-1-30 22:16:25

Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)

简单生活 发表于 2015-2-1 18:15:55

你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。

金色的骷髅 发表于 2015-2-2 05:10:30

弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。

再现理想 发表于 2015-2-8 07:40:00

学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。

不帅 发表于 2015-2-25 00:18:47

Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件

若相依 发表于 2015-3-7 14:43:43

ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:

蒙在股里 发表于 2015-3-15 07:38:04

作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。

柔情似水 发表于 2015-3-21 20:55:33

先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习
页: [1]
查看完整版本: ASP编程:用的ASP防SQL注进打击程序