ASP网站漏洞解析及黑客入侵防范方法(2)
为你的数据库文件名称起个复杂的非常规的名字,并把它放在几层目录下。所谓 “非常规”,打个比方说,比如有个数据库要保存的是有关书籍的信息,可不要给它起个“book.mdb”的名字,而要起个怪怪的名称,比如d34ksfslf.mdb,并把它放在如./kdslf/i44/studi/的几层目录下,这样黑客要想通过猜的方式得到你的Access数据库文件就难上加难了。
为你的数据库文件名称起个复杂的非常规的名字,并把它放在几层目录下。所谓 “非常规”,打个比方说,比如有个数据库要保存的是有关书籍的信息,可不要给它起个“book.mdb”的名字,而要起个怪怪的名称,比如d34ksfslf.mdb,并把它放在如./kdslf/i44/studi/的几层目录下,这样黑客要想通过猜的方式得到你的Access数据库文件就难上加难了。
由于ASP的方便易用,越来越多的网站后台程序都使用ASP脚本语言。但是,由于ASP本身存在一些安全漏洞,稍不小心就会给黑客提供可乘之机。事实上,安全不仅是网管的事,编程人员也必须在某些安全细节上注意,养成良好的安全习惯,否则会给自己的网站带来巨大的安全隐患。目前,大多数网站上的ASP程序有这样那样的安全漏洞,但如果编写程序的时候注意一点的话,还是可以避免的。
<% '功能:输出字符串加换行 Function WriteLn(sString) Response.Write( sString & vbCrLf ) End Function %>
函数要调用cmd和winrar.exe,只能以管理组启动这些程序,合适的权限分配下才能正常使用这个函数。需要使得匿名账户有执行权限,和ntfs文件系统的读写权限。没有自己服务器的还是算了。有些虚拟主机程式是支持解压缩和压缩的,实现的道理类似,无外乎就是winrar的使用。
将数据使用间隔字符串存储可以减少少写几个数据库字段,也方便以后扩展数据。
如:在论坛中用户的性格有多重性格、乐天达观、成熟稳重、幼稚调皮、温柔体贴等等,他们分别对应的值为0、1、2、3、4,在存储这些数据时使用间隔字符串,将数据存储到一个文本字段中。数据存储格式为:0|2|3|4|。
ASP最后编程的时候,新手根本想不出来要怎么来组合才能完成一个模块,下面把这些语法按照程序员常用的模块方式组合起来,请大家按照模块来记忆,然后按照模块来应用,不一定要一个一个字母的背下来,关键是用到这些模块的时候能准确的,拿出来,安上去!
注意下面的标点符号,全部都为英文中的半角符号,如果写成了全角的就一定运行不起来了,切忌切忌……
对于ASP的使用者来说,在数据库操作上越简单,就有更多的时间去考虑逻辑上和应用上的代码,效率也会更高。今天俺在这里给大家提供一种数据库操作的思路,这些代码是俺在长期的ASP应用中不断完成和修正的,也已经用它完成了很多项目了,应该说直接拿去用是没有问题的。当然本人能力也有限,希望大家一起来讨论。
Function badchar(str)
badstr=”不文明字符列表,用|分开(因发表时不能含有那些字符,所以不能贴出。)”
badword=split(badstr,”|”)
For i=0 to Ubound(badword)
If instr(str,badword(i)) > 0 then
badchar=True
假设变量strURL保存着URL值,如strURL = “ftp://username:password@server”,这是我们在IE中登录到FTP上时的URL形式,如果我们想把其中的 username和password取出来的话,该怎么办呢?当然解决的方法有许多,在这里我们只介绍用Split来解决的方法。首先,我们找出分割符。我们发现在这个字符串中,username和password之间有个冒号把它们隔开了,所以我们就把这个冒号作为Split函数的”分割符”来分割整个字符串,最后达到取username和password的目的。代码如下:
ASP通过cdo发送邮件的代码
通过cdo发送邮件,无需组件支持。一般ASP空间即可实现在线发送。
我们能过下面这个例子说明其使用方法,比较简单,只需要更改相应的代码就可以了,具体是哪里,仔细看一下就明白: