[讨论]关于ASP中在线解压缩rar文件的讨论~!望积极参与~!
以下是从网上找来的代码,似乎存在明显的安全隐患~!
个人认为,自己写个DLL来解压比较好。但不知道unrar.dll都有些什么函数可调用,望明白人指点。
先谢为敬~!要想实现这种功能,首先要得到Rar程序的解压缩核心文件支持(可以下载WinRar软件,再把其中的WinRar.exe文件单独“拿”出来。),并且还需要Windows操作系统自带的cmd.exe程序(这个程序用来执行WinRar.exe文件。操作系统自带的,NT内核的操作系统可以在操作系统安装目录下的System32文件夹下找到它;Windows 9X的操作系统可以在操作系统安装目录下的System文件夹下找到它。),如图1。然后把它们上传到同一目录中。建立asp文件,见以下代码:- <%
- Dim a,b,Main,Shell,Runing,Runcode,Cmd,comm,fso
- Main="d:\chencheng\rar\" `上传后Winrar.exe和cmd.exe后的路径。
- a=Server.mappath("rar")&"\" ';解压rar文件后的存放路径。
- b=Server.mappath("rar\homepage.rar") ';要解压的rar文件,把其中homepage.rar修改为需要解压缩的文件。
- Set Shell = Server.CreateObject("WScript.Shell")
- Runing= "d:\chencheng\rar\cmd.exe /c "&Main&"Winrar.exe x -t -o+ -p- " ’设置运行解压缩的命令。
- Cmd=Run&b&" "&a
- Runcode = Shell.Run(Cmd,1, True)
- %>
复制代码 |