下面是对话框的图形:
ASP代码
让我们一起看一下代码。我们将为我们的应用程序定义一些变量。创立一个叫CreateDirectory.asp的动态服务器页(Active Server Pages ,ASP)文件,在其中插入以下代码:
<%@ Language=VBScript %>
<% Option Explicit %>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>
<%
Dim strVirtualDirectoryName 'IIS虚拟目录名
Dim bolInProcessApplication '处理应用标记中的IIS
Dim objIIS 'ADSI IIS对象
Dim strVirtualDirectoryPath 'IIS虚拟目录路径
Dim objFileSystem 'VBScript文件系统对象
Dim strOwner 'NT文件夹所有者
Dim objVirtualDirectory 'ADSI IIS虚拟目录对象
Dim bolScriptPermissions 'IIS脚本权限标记
Dim strHTTPReferer 'IIS参考页
Dim strServerName 'NT本地机器名
Dim objWSH 'Windows脚本主机对象
Dim objRTC '返回
Dim strACLCommand '设置ACLs的命令行串
我们想确保用户是从我们的表单来的,并且没有欺骗我们的服务器。我们将检索HTTPReferer服务器变量和服务器名来测试它。这儿你可以做许多检查;在我们的测试中不必十分坚固。关于安全站点的优秀文章,请查看由Dmitry Khanine整理的Easy Application State Securely ( http://www.15seconds.com/Issue/990114.htm)。在代码的结尾插入以下代码:
strHTTPReferer = Request.ServerVariables("HTTP_REFERER")
strServerName = Request.ServerVariables("SERVER_NAME")
' 我们是从我们的表格来的吗?如果不是,则拒绝存取
If strHTTPReferer <> "http://" & strServerName & "/Servin/Default.asp" then
Response.Write("Access Denied")
Response.End
End If
现在我们的网页已证实我们的用户是从我们的表单传递结果的,我们可以获取虚拟目录(Virtual Directory)、所有者(Owner)和脚本权限(Script Permissions)标记的值。请注意我们是怎样根据从checkboxScript获取的值来改变的,如果它被选定,就设为True,如果没有被选定就设为False。在你的最后一位代码后插入以下代码:
strVirtualDirectoryName = Request.Form("textVirtualDirectory")
strOwner = Request.Form("selectOwner")
If Request.Form("checkboxScript") = "on" Then
bolScriptPermissions = "True"
Else
bolScriptPermissions = "False"
End If
我们需要确认IIS应用程序是否存在。使用IIS Admin对象,我们检查是否应用程序早已存在并且把相应的警告传递给用户。







