编程论坛's Archiver

lecano 发表于 2007-3-24 09:33

请教以下代码错在那里?

[attach]18200[/attach]<BR>我通过IIS测试时显示:密码错误!!<BR>高手们指教下!<BR>

sghyygtetg 发表于 2008-3-26 08:04

小琦 谢了

ncnongmin 发表于 2008-4-11 15:44

直接贴出来嘛!

siguohui2008 发表于 2008-4-23 16:16

谁能帮忙做一个在线登记系统

急急!!!!!!!

adsdomain 发表于 2008-5-21 20:21

我给贴出来吧!
------------------------------------------------------------
<%
'本程序是翟振恺(小琦)原创的,现在我免费发布出来,请转用或转载时不要把版权去掉。
'本程序是针对不能用组件加密asp的用户写的,应该可以有效的保护ACCESS数据。
'www.xiaoqi.net
'QQ:22336848

if Request("mdbname")<>"" then

'------------------------取磁盘序列号----------------------------小琦
set fs=server.createObject("scripting.filesystemobject")
testDrive="H:"
set f=fs.getdrive(testDrive)
''调用GetDrive方法,将驱动器赋予一个变量

xlh=trim(f.serialnumber) '取到磁盘序列号

'-------------------------取绑定的网站地址---------------------------小琦
myname=Request.ServerVariables("SERVER_NAME")'我绑定我的主机名

'-------------------------取二进制数据---------------------------小琦
url=server.MapPath("#Fore_data.mdb") '取一个exe文件或其它的文件作为提供加密的文件,为了安全,你可以把这个文件放到别人下载不到的地方。
Set  fso=Server.CreateObject("Scripting.FileSystemObject")  
Set  fl=fso.getfile(url)  
flsize=fl.size  
flName=fl.name  
Set  objStream  =  Server.CreateObject("ADODB.Stream")
objStream.Open  
objStream.Type  =  1  
objStream.LoadFromFile url
Password=objStream.Read'二进制数据
Password=left(Password,4)&right(xlh,3)&myname'数据库密码用二进制数据+磁盘序列号+绑定的网站地址
Password=left(Password,19)'ACCESS数据库密码好像最多20个字符,我用了19个
db="xq.mdb"
SavePath=Server.MapPath("xq.mdb")
'----------------------------------------------------小琦
        Application.Contents.RemoveAll()
        
        Dim fs, Engine
        Set fs = CreateObject("Scripting.FileSystemObject")
        mdbname = Request("mdbname")
        If fs.FileExists(Server.Mappath(mdbname)) Then
                Set Engine = CreateObject("JRO.JetEngine")
'----------------------------------------------------改数据库密码        
if request("dz")=1 then        
Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath(mdbname), "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDBatabase Password="&Password&";Data Source=" & Server.Mappath(mdbname & ".temp")
else
Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDBatabase Password="&Password&";Data Source=" & Server.Mappath(mdbname), "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath(mdbname & ".temp")
end if
'----------------------------------------------------改数据库密码               
                fs.CopyFile Server.Mappath(mdbname)& ".temp",Server.Mappath(mdbname)
                fs.DeleteFile(Server.Mappath(mdbname) & ".temp")
                Set fs = Nothing
                Set Engine = nothing
                if request("dz")=1 then        
                Response.write "<p><font color=#FF0000>数据库加密成功!...</font>"
                Else
                Response.write "<p><font color=#FF0000>数据库解密成功!...</font>"
                end if

        Else               
                Set fs = Nothing
                Response.Write "<p><br><br>数据库名称或路径不正确. 压缩失败!" & vbCrLf
        End If


end if
%>

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.