网站在规划与设计时不仅要考虑它的功能和界面,还要考虑其安全性。如果一个做的功能再多,界面再漂亮的网站,其安全性太差,不时的被黑客攻击,数据库丢失,有些损失不是用金钱能能够衡量的,所以在建站对网站的安全性一定要格外重视。
当然网站的安全性涉及到方方面面,这里与大家探讨下ASP内置对象Request的应用及安全相关的话题。
Request是ASP里的一个内部对象,用于获取HTTP请求中传递的任意信息(如头信息、表单数据、cookies等等)。所以这是在ASP里面最常用的内部对象,常用来获得GET方式提交的数据(Request.QueryString)、表单POST提交的数据(Request. Form)和Cookies(Request.Cookies)
ASP下面的SQL注入都是由于request的参数没有过滤或者过滤不严。当然,程序员不是安全专家,他们可能不知道如何过滤。于是,网络上就出现了通用的防注入ASP程序——"SQL通用防注入系统"。经过一段时间和几个作者的改进,该程序已经比较完善了,基本上可以拦截SQL注入(但是,个人认为它的过滤方式太严,造成许多不便)。"SQL通用防注入系统"是个asp文件,只需在有参数提交的文件中include它就是了。程序过滤的原理是遍历GET和POST参数的值,发现SQL注入关键字(如and、select)就停止正常文件执行。大体上的程序片断如下:
If Request.Form<>"" Then
For Each Sql_Post In Request.Form
For SQL_Data=0 To Ubound(SQL_inj)
if instr(Request.Form(Sql_Post),Sql_Inj(Sql_DATA))>0 Then
Response.Write "<script Language=JavaScript>alert('非法连接!!')</script>"
Response.end
end if
next
next
end if
但网络没有绝对的安全,因此,多了解些网站安全的问题,从而对于网站的维护及宣传有重要的作用。