ASP重数据库中读取数据生成TXT,在客户端中下载

ASP重数据库中读取数据生成TXT,在客户端中下载,第1张

生成txt文件如果直接下载,可能出现打开这个txt文件。我采用生成doc文件可以直接下载,不用格式转换。

Set Rs = ConnExecute("Select from Area")

Do While Not RsEof

f1(t)=Rs("AreaCode")

f2(t)=Rs("AreaName")

t=t+1

RsMoveNext

Loop

Set Rs = Nothing

Set tf = Nothing

for r=0 to t

k1=k1 & f1(r)

k2=k2 & f2(r)

next

k1=replace(k1,"&","&")

k1=replace(k1," "," ")

k1=replace(k1,"""," ” ")

k1=replace(k1,"<"," < ")

k1=replace(k1,">"," > ")

k2=replace(k2,"&","&")

k2=replace(k2," "," ")

k2=replace(k2,"""," ” ")

k2=replace(k2,"<"," < ")

k2=replace(k2,">"," > ")

Set fso = CreateObject("ScriptingFileSystemObject")

Set tf = fsoCreateTextFile("d:\testfiledoc", True)

Set Fso = ServerCreateObject("ScriptingFileSystemObject")

WJLJ="\TXT\" & 欲保存的文件名 & "doc"

Dir = RequestServerVariables("SCRIPT_NAME")

Dir = StrReverse(Dir)

Dir = Mid(Dir, InStr(1, Dir, "/"))

Dir = StrReverse(Dir)

file = ServerMapPath(Dir) & WJLJ

'文件"TXT/"&欲保存的文件名&"doc"如果存在,则删除

if FsoFileExists(file) then

FsoDeleteFile(file)

end if

'重新创建"TXT/"&欲保存的文件名&"doc"文件

Set os= FsoCreateTextFile (file,True,false)

osWriteLine"AreaCode:"

osWriteLine"" & k1

osWriteLine"AreaName:"

osWriteLine"" & k2

osclose

ResponseRedirect "TXT/"& 欲保存的文件名 &"DOC"

将“欲保存的文件名”修改成变量,如果不是变量,则:

"TXT/直接的文件名DOC",怎么样?

不一定,如果别人的数据库的文件名经过特殊处理,比如添加入#,空格等符号,或者后缀名被改为ASP,并在数据库中添加了一段错误的ASP代码,这类的数据库都是无法被下载的

从你发的代码来看,制作者很聪明,没有把数据库的文件名写在connasp文件中,即使你获得了connasp也无法获得数据库的地址和文件名,你依然无法下载数据库

呵呵,一般数据库都是加密或者更改数据库后缀,如果可以下载的话就不安全了,所以一般虚拟空间把数据库和文件是分开的文件夹。

如果您没有采用一些措施防止别人下载您的数据库,这样数据就泄漏了。

现在大部分网站都使用asp+access构建,这样的话通过下载access数据库简单就可以对网站进行破坏!

而很多的网站都不太重视这些,比如数据库文件名是datamdb等而又有一部分人认为把数据库的扩展名改成asp就万事大吉了,

其实不然!大家可以做个试验 ,在自己的机器上把mdb改成asa或者asp 然后用任何一种下载工具下载,下载之后再把文件名改成mdb 文件照样可以用!道理很简单!iis只执行<% %>内的内容,而mdb文件单纯的修改扩展名只会让iis错误的以txt方式显示出来

你可以看见,如果在浏览器执行asp(注意:这个是mdb数据库)就会看见一大堆乱码,和你用记事本打开看见的一样!

防止数据库被下载的方法就有4种

1:在数据库新建一个表,表名为<%safe就可以了 ,这样iis在解析的时候会出现500错误,数据库也就下载不了了!

2:在你的数据库文件名后门加上# (不是扩展名,比如name#mdb)这样iis就以为你是在请求该目录中默认的文件名,比如indexasp,如果iis找不到就会发出403禁止浏览目录的错误警告!

3:在iis中是把数据库所在的目录设为不可读,这样就可以防止被下载!请放心,这样做不会影响asp程序的正常使用!!

4:直接使用数据源 (ODBC)这样数据库就可以不用在web目录里面,从而彻底防止被下载,但是这样做你必须拥有服务器的管理员权限,哈哈,大部分虚拟主机用户是不可能用数据源 (ODBC)的!

以上就是关于ASP重数据库中读取数据生成TXT,在客户端中下载全部的内容,包括:ASP重数据库中读取数据生成TXT,在客户端中下载、获得网站的Conn.asp文件就能下载别人的数据库吗、网上使用ASP+Access数据库制作的网站中的Access怎样下载等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9325249.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存