2009年10月
电
脑
学
习
第5期
ASP实现网页安全代码
刘海涛*
摘要:通过典型例子说明ASP中实现安全高效的代码。主要包括网页代码及数据库方面的安全实施策略。
安全代码SQL注入猜解加密ACCESS数据库关键词:ASP文献标识码:B文章编号:1002-2422(2009)05-0056-03中图分类号:TP393.09
DesignandImplementationofSafeCodeinASP
LiuHaitao
Abstract:
ThepaperdiscussesthedesignandimplementationofsafecodeinASPthroughexamples,whichincludesthesafe
codeofASPandthesafemeasuresofdatabase.
Key
word:ASP
SafeCode
SQLInjection
GuessaSolution
Encrypt
ACCESSDatabase
网站的安全范畴十分广泛,但良好的
设计习惯与安全高效的代码,是百毒不侵的基本内功,以下通过一些切实的典型例子来说明ASP实现网页安全代码。
if(rs.EOF)thenresponse.redirect″err.asp″elseresponse.redirect″admin.asp″endifsetrs=nothing%>
对于这些情况,可以编写一个文件,对提交的字符进行检测,如果有非法字符,则退出重新
登陆。以下是以POST方式提交数据的检测,GET的方法也一样。
sql_in=″;|and|exec|insert|select|delete|update|count|觹|%|chr|mid|master|truncate|char|de-clare|=|_execute|exec|union|where|join|chr|mid|exists|nchar|count|or″(sql_inf=splitsql_in,″|″)IfRequest.Form<>″″ThenForEachsql_postInRequest.FormFori=0ToUbound(sql_inf)IfInstr(LCase(Request.Form(sql_post)),()<>0Thensql_infi)
1防注入
(1)拦截阻止GET或POST请求信息的非法字符。登陆代码:
<%user=request″username″)(psd=request″psw″)(sql=″select觹fromadminwhere账号='″&user&″'and密码='″&psd&″'″setrs=server.createobject(″ADODB.Record-set″)rs.opensql,″DSN=...″
如果存在用户名与密码,则打开数据库记录成功,可以跳转到管理页面。但是如果输入一些特殊的字符,构则可以成功登陆。例造特殊SQL语句,如用户名和密码都输入a’‘1’1or=’(a为任意),SQL语句变成Select则觹fromadminwhere账号=‘a’or‘1’='1'and密码=‘a’‘1’‘1’or=即使不存在该用户名与密码都可登陆。
......................................................................................................................................
表面上的并发性,方法是依靠执行多个线程,每个线程处理一个请求,从客户的角度看,服务器就像在并发地与多个客户
通信。由于流媒体服务时间的不定性和数据交互实时性的请求,流媒体服务器一般采用并发服务器算法。设计了一个基本的流媒体服务器,能够同时响应多个用户的请求,把本地硬盘流媒体文件或实时数据流(H.263格式)发送给用户。在应用中,把客户分为请求实时数据的实时客户和请求文件数据的文件客户两类。主要算法为:(1)打开设备,分配资源。当设备准备好时,创建一个RTP实时服务线程和一个RTCP实时服务线程。(2)创建一个UDP套接字并将其绑定到所提供服务的地址之上。(3)反复调用接收模块,接收来自客户的RTCP
报告,根据其类型做出响应。对新实时客户的请求,把客户地址添加到实时服务的客户
列表中,对新文件客户的请求,则创建