仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 546|回复: 8
打印 上一主题 下一主题

[学习教程] ASP编程:远程注册本人的组件

[复制链接]
山那边是海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:57:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
缺点:正版成本价格贵(盗版就不说了)、不够安全,大多数服务器用windows系统,没有linux安全把asp程序作成dll良多优点,可是有一点,该dll必需注册才干在asp中挪用。假如是本人的服务器那还好,但假如是租用的假造服务器,就没举措利用了。
如何在远程主机上注册我们的dll呢?在服务器端利用Shell!!!

让我们先将本人的dll文件经由过程ftp或http上传到服务器上,然后作一个asp程序,挪用WScript.Shell来实行regsvr32命令:
SetoShell=CreateObject("WScript.Shell")
oShell.Run"c:WINNTsystem32egsvr32.exe/sd:xxx.dll",0,False
固然假如对方的服务器平安弄的很好的话,这个代码大概就不克不及用了,但不论怎样,进修一下也是好的,:)
在这里也要提示那些出租空间的伴侣,你的服务器是不是限定了利用WScript.Shell的权限?仍是当心为妙

完全代码以下,保留为.asp便可利用:

<%Response.Buffer=True%>
<%Server.ScriptTimeout=500
DimfrmFolderPath,frmFilePath

frmFolderPath=Request.Form("frmFolderPath")
frmFilePath=Request.Form("frmDllPath")
frmMethod=Request.Form("frmMethod")
btnREG=Request.Form("btnREG")
%>

<HTML>
<HEAD>
<TITLE>Regsvr32.asp</TITLE>
<STYLETYPE="TEXT/CSS">
.Legend{FONT-FAMILY:veranda;FONT-SIZE:14px;FONT-WEIGHT:bold;COLOR:blue}
.FS{FONT-FAMILY:veranda;FONT-SIZE:12px;BORDER-WIDTH:4px;BORDER-COLOR:green;
MARGIN-LEFT:2px;MARGIN-RIGHT:2px}
TD{MARGIN-LEFT:6px;MARGIN-RIGHT:6px;PADDING-LEFT:12px;PADDING-RIGHT:12px}
</STYLE>
</HEAD>

<BODY>
<FORMNAME="regForm"METHOD="POST">
<TABLEBORDER=0CELLSPACING=6CELLPADDING=6MARGINWIDTH=6>
<TR>
<TDVALIGN=TOP>
<FIELDSETID=FS1NAME=FS1CLASS=FS>
<LEGENDCLASS=Legend>RegsvrFunctions</LEGEND>
InsertPathtoDLLDirectory<BR>
<INPUTTYPE=TEXTNAME="frmFolderPath"VALUE="<%=frmFolderPath%>"><BR>
<INPUTTYPE=SUBMITNAME=btnFileListVALUE="BuildFileList"><BR>
<%
IFRequest.Form("btnFileList")""ORbtnREG""Then
SetRegisterFiles=NewclsRegister
RegisterFiles.EchoB("<B>SelectFile</B>")
CallRegisterFiles.init(frmFolderPath)
RegisterFiles.EchoB("<BR><INPUTTYPE=SUBMITNAME=btnREGVALUE="&Chr(34)_
&"REG/UNREG"&Chr(34)&">")
IFRequest.Form("btnREG")""Then
CallRegisterFiles.Register(frmFilePath,frmMethod)
EndIF
SetRegisterFiles=Nothing
EndIF
%>
</FIELDSET>
</TD>
</TR>
</TABLE>
</FORM>
</BODY>
</HTML>
<%
ClassclsRegister

Privatem_oFS

PublicPropertyLetoFS(objOFS)
m_oFS=objOFS
EndProperty

PublicPropertyGetoFS()
SetoFS=Server.CreateObject("Scripting.FileSystemObject")
EndProperty


Subinit(strRoot)RoottoSearch(c:,d:,e:)
DimoDrive,oRootDir
IFoFS.FolderExists(strRoot)Then
IFLen(strRoot)<3ThenMustBeaDrive
SetoDrive=oFS.GetDrive(strRoot)
SetoRootDir=oDrive.RootFolder
Else
SetoRootDir=oFS.GetFolder(strRoot)
EndIF
Else
EchoB("<B>Folder("&strRoot&")NotFound.")
ExitSub
EndIF
setRoot=oRootDir

Echo("<SELECTNAME="&Chr(34)&"frmDllPath"&Chr(34)&">")
CallgetAllDlls(oRootDir)
EchoB("</SELECT>")
BuildOptions
EndSub

SubgetAllDlls(oParentFolder)经由过程fso枚举一切的dll和ocx文件
DimoSubFolders,oFile,oFiles
SetoSubFolders=oParentFolder.SubFolders
SetopFiles=oParentFolder.Files

ForEachoFileinopFiles
IFRight(lCase(oFile.Name),4)=".dll"ORRight(lCase(oFile.Name),4)=".ocx"Then
Echo("<OPTIONVALUE="&Chr(34)&oFile.Path&Chr(34)&">"_
&oFile.Name&"</Option>")
EndIF
Next

OnErrorResumeNext
ForEachoFolderInoSubFoldersIterateAllFoldersinDrive
SetoFiles=oFolder.Files
ForEachoFileinoFiles
IFRight(lCase(oFile.Name),4)=".dll"ORRight(lCase(oFile.Name),4)=".ocx"Then
Echo("<OPTIONVALUE="&Chr(34)&oFile.Path&Chr(34)&">"_
&oFile.Name&"</Option>")
EndIF
Next
CallgetAllDlls(oFolder)
Next
OnErrorGoTo0
EndSub

SubRegister(strFilePath,regMethod)
Dimthe</p>缺乏可以共同遵循的行业标准,ASP还处在发展初期,大家对它的理解不同,如产品和服务标准,收费标准等,不利于行业的健康发展。
冷月葬花魂 该用户已被删除
沙发
发表于 2015-1-20 06:47:22 | 只看该作者
以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
再现理想 该用户已被删除
板凳
发表于 2015-1-25 18:06:28 | 只看该作者
我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
蒙在股里 该用户已被删除
地板
发表于 2015-2-6 17:57:07 | 只看该作者
多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
乐观 该用户已被删除
5#
发表于 2015-2-17 22:40:04 | 只看该作者
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
飘飘悠悠 该用户已被删除
6#
发表于 2015-3-5 23:33:53 | 只看该作者
如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
分手快乐 该用户已被删除
7#
发表于 2015-3-12 16:36:45 | 只看该作者
如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
再见西城 该用户已被删除
8#
发表于 2015-3-12 16:36:46 | 只看该作者
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
精灵巫婆 该用户已被删除
9#
发表于 2015-3-20 00:23:17 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 01:46

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表