paip.提升ASP編程安全性之指令碼組件
以往,為了指令碼安全性,可以使用用VB,VC來寫COM組件。。這裡,又有了新的技術,就是指令碼
組件,簡單的說,就是指令碼也可以用來寫COM組件..
指令碼組件為您提供了使用指令碼語言( (VBScript) 和 JScript)來建立 COM 組件的便利途徑。
指令碼組件可以作為 COM 組件應用於應用程式,其他任何支援 COM 組件的應用程式。下面列出了
本教程所要論述的內容。
Windows 指令碼組件技術包括下述 部分:
指令碼組件運行時程式 (Scrobj.dll),用來協助將 COM 請求發送到指令碼組件。按照 COM 的術語,
Scrobj.dll 是作為指令碼組件的 inproc 伺服器來執行。
指令碼組件檔案 (這是一個 .wsc 檔案)。指令碼組件檔案屬於 XML (可擴充的標記語言) 檔案,其中包
含要建立何種 COM 組件類型的資訊(也就是要使用何種介面處理常式)。然後,根據該處理常式
提供的可用功能,在指令碼組件中編寫指令碼來實現這些介面。
指令碼組件運行時程式可以用作宿主應用程式的入
可以使用遠程COM組件技術, DCOM ,遠程RPC調用。。強。
建立 ASP 指令碼組件,只需按照指令碼組件檔案的內容中所描述的,正常建立一個指令碼組件。使用
<implements> 元素來實現 ASP 介面處理常式,即將<implements> 元素的 type 屬性設定為
“ASP” 。這樣就提供了訪問 ASP 對象(Response, Request, Server, Session 以及
Application)的手段。在 ASP 指令碼組件中,可以象直接在 ASP 頁面內那樣使用這些對象
-----------------指令碼組件調用:------------------
<%Set wscASP = CreateObject("ASPScriptlet")%>
<P>The current date is <%= wscASP.AddDate()%></P>
======其中,ASPScriptlet就是我們自建立的COM組件。。
COM組件的源碼如下:
<component id="ASPScriptlet">
<registration progid="ASPScriptlet"/>
<public>
<property name="applicationVar1"/>
<method name="AddDate"/>
</public>
<implements type="ASP"/>
<script language="VBScript">
<![CDATA[
dim applicationVar1
applicationVar1 = Application("Var1")
Sub AddDate()
Response.Write(Date)
End Sub
]]>
</script>
</component>