SSI Statements
(sets error message in case of SSI error)Details of file 'Default.asp':
(sets fsize to return size in bytes)
returns: bytes
(sets format for date/time results)
returns:
(3)#echo 指令该页的最后部分(在屏幕上只能看到一部分)显示可以使用#echo指令访问的所有HTTP报头的内容。每一行的代码都是相同的,仅仅是VAR属性值有变化。附录G中给出了VAR属性的所有容许值的一个完整列表。
HTTP Variables
returns: returns:
… etc …2.使用#exec指令#exec指令与其他的SSI指令相比使用起来困难一些,正因为如此,将其独立地放到了另一个页面上。可以从“ASP Server Object and SSI Directives”主菜单上访问启动页面。在该页面上,选择“Using the #echo Server-Side Include Directive”链接。这个操作打开“The SSI #exec Directive”页面,如图4-5所示:图4-5“The SSI #exec Directive”网页这是一个ASP网页ssi_exec.asp。两个按钮用来打开.stm页面,该页面执行其中使用#exec指令所描述的动作。(1)在服务器上运行这个示例在SSI #exec指令示例能够在服务器上工作之前,必须对一些配置进行修改。首先,需要在Web服务器的注册表中创建SSIEnableCmdDirective项(类型DWORD),位置在下面的键名下:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters然后设置该值为1,如图4-6所示:图4-6注册表中的设置这样就允许#exec指令与CMD属性一起使用。其次,必须对包含使用#exec指令的.stm文件的目录禁止匿名访问,客户端将被强制提供帐号的详细情况,该帐号应是一个具有管理员级权限帐号。这也是net命令正常工作的要求。激活Internet Services Manager应用程序,并选择包含使用#exec指令的.stm文件的目录(在示例中,这些文件是exec目录下的start_cisvc.stm和stop_cisvc.stm)。然后打开该目录的Properties对话框。在Directory Security选项卡中单击Anonymous access and authentication control区域中的Edit按钮,打开 Authentication Methods对话框,如图4-7所示:图4-7设置验证方法的对话框这个对话框不选中Anonymous access复选框。如果不使用Internet Explorer访问该页面,打开Basic authentication选项以允许非IE浏览器通过提交用户名/口令访问该页面。设置时,会出现一个有关安全的警告,单击Yes。现在浏览器将被强制出示合适的帐号和身份证明,因为不能匿名访问该网页。为了能看到启动和终止服务的结果,打开“Services MMC插件”,终止Indexing Service,如图4-8所示:图4-8启动和终止服务的屏幕(2)启动和终止Indexing Service单击示例Web网页上的按钮,启动Microsoft Indexing Service。这个服务的短名称为cisvc,它通常称为Microsoft Index Server,名称中的“ci”字符,实际上代表“content indexer”。出现提示时,输入在Web服务器上的具有管理员权限的一个帐号的用户名和口令。当该页面(start_cisvc.stm)打开时,你将感觉到一定的延迟,这是因为#exec指令载入一个窗口命令解释器(cmd.exe)的实例,然后执行net start命令。一旦服务启动(或者如果已经在运行),将显示该页面的其余部分,如图4-9所示:图4-9输入用户名和口令后显示的界面这个页面的代码十分简单。可以看到#exec指令带有CMD属性,它设置为“cmd.exe /c net start cisvc”。窗体包含有重新回到前一页面的SUBMIT按钮:
Processing the SSI directive:
从前一页面可以打开其他的.stm网页,如stop_cisvc.stm用来再次终止该服务,不同之处仅在于使用了net stop命令而不是net start命令?!?lt;!-- #exec CMD=”cmd.exe /c net stop cisvc” -->…