服务器端包含的指令和使用程序本节介绍IIS 5.0服务器端包含的指令的语法和参数值。还介绍IISRESTART实用程序的语法和使用,该实用程序可用来从远程计算机、命令行和SSI指令的内部管理Web服务器。 1. SSI指令、属性和标记指令 说明#include 将指定的文件内容插入到被发送到客户机的响应流中,并替换该指令。例如:<!-- #include file=”userfilbits.inc”à#config 指定用于日期、时间和文件尺寸的格式,以及返回客户机的通用SSI错误消息的文本格式。例如:<!—#config ERRMSG=”SSI Processing Error”à<!—#config TIMEFMT=”%A, %B, %d, %Y, %H:%M:%S ”à<!—#config SIZEFMT=”BYTES”à参见下文中关于用于该指令的属性和标记的列表#echo 将HTTP环境变量插入到发送给客户机的相应流中,并替换该指令。例如:<!--#echo VAR-“SERVER_NAME”à参见下文中关于用于该指令的属性和标记的列表#exec 在服务器上执行一个程序或shell命令。例如:<!--#execCGI=”/scripts/myapp.exe?value1=this&value2=that”à<!--#exec CMD=”cmd.exe /c iisrestart /stop”à<!--#exec CMD=”cmd.exe /c net start cisvc”à参加下文中关于该指令的属性和标记列表。必须添加以下条目到Windows Registry中才可以使用CMD属性:HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/W3SVC/Parameters/SSIEnableCmdDirective将该值设置为1并重新启动WWW服务,CMD属性才被允许用于#exec指令。将其设置为0则禁止它并防止未验证的使用,否则将会破坏服务器的安装。#flastmod 将指定文件的最新更改的日期和时间插入到要发送客户机的响应流中。例如:<!--#flastmod file=”default.asp”à参见下文中关于该指令的属性和标记的列表。#fsize 将指定文件的尺寸插入到要发送给客户机的响应流中。例如:<!--#fsize file=”default.asp”à参见下文中关于该指令的属性和标记的列表。2. #exec指令的命令类型属性属性 说明CGI 在Web服务器上下文中执行指定的应用(即通过ISAPI对请求和响应的访问),并将任何查询串的值传递到应用中。该应用与Web服务器运行在不同的内存中CMD 启动指定的操作系统命令的解释程序的一个实例,并执行该指令的命令3. #cinlcude、#flastmod和#fsiaze的路径类型属性属性 说明FILE 该属性的值是绝对和相对路径加上文件名,就像在DOS命令提示中所使用的,如“/files/web/myfile.txt”VIRTUAL 该属性值是绝对路径和相对路径加上文件名,与当前的Web站点的根文件夹相关。如“/file/web/myfile.txt”4. #config指令的SIZEFMT标记标记 说明BYTES 文件大小将以字节返回ABBEV 文件大小将以计算并以最近的千字节(KB)数返回5. #config指令的TIMEFMT标记标记 说明%a 一周的日子按”Mon”、”Tue”等表示%A 一周的日子按”Monday”、”Tuesday”等表示%b 月份名按”Jan”、”Feb”等表示%B 月份名按”January”、”February”等表示%c 与服务器的地区相对应的当前的日期和时间格式(如11/06/99 12:51:32)%d 一月的日子按数表示(01到31)%H 用24小时格式表示当前时间(00到23)%I 用12小时格式表示当前时间(01到12)%j 按数字(001到366)表示一年的日子%m 月份按数字表示(01到12)%M 当前分钟按数字表示(00到59)%p 按服务器地区表示相应的“上午”或“下午”文字如(AM或PM)%S 当前的秒按数字表示(00到59)%U 一年的每周按数字表示(00到51),并且每周的第一天为Sunday%w 一周每天按数字表示(0到6),并且每周的第一天为Sunday%W 一年的没有数字表示(00到51),并且每周的第一天为Monday%x 当前的日期格式对应于服务器地区表示的(如11/06/99)%X 当前时间格式相应与服务器地区表示的(12:51:32)%y 没有世纪表示的年数(如01)%Y 有世纪表示的年数(如2001)%z,%Z 服务器时间带的名字或缩写(如果知道的话)%% 百分号字符6. #echo指令的VAR标记标记 说明AUTH_TYPE 客户机用来验证网页是否拒绝匿名访问的验证类 型,如“Basic”或“NTLM”(即,询问/响应)AYTH_PASSWORD 由用户向服务器提供的口令,如果该页拒绝匿名访问并且客户机使用Basic方法验证的话AUTH_USER 由用户向服务器提供的用户名,如果在NTLM和Basic(或其他)方法下该页拒绝匿名访问的话CONTENT_LENGTH 在请求体中发送的字节数,即,作为POST向服务器发送的字节数CONTENT_TYPE 作为POST在请求体中发送的数据MIME类型DOCUMENT_NAME 由客户机请求的文档的全实际路径和文件名DOCUMENT_URT 由客户机请求的文档的全虚拟路径和文件名DATE_GMT 服务器操作系统中的日期和时间设置,不带任何Greenwich Mean Time的调节DATE_LOCAL Greenwich Mean […]
View DetailsBasic SSI directives Syntax
1 |
<!--#element attribute=value attribute=value ... --> |
Today’s date
1 |
<!--#config timefmt="%Y/%m/%d %a %H:%M:%S" -->Today is <!--#echo var="DATE_LOCAL" --> |
Modification date of the file
1 |
This document last modified <!--#flastmod file="index.html" --> |
Including the results of a CGI program
1 |
<!--#include virtual="/cgi-bin/counter.pl" --><!--#include virtual="/cgi-bin/example.cgi?argument=value" --> |
You can use "#exec cgi=" directive, but it can be disabled using the IncludesNOEXEC Option. Including a standard footer
1 |
<!--#include virtual="/footer.html" --> |
Executing commands
1 |
<!--#exec cmd="ls" --> |
This feature is dangerous. You can allow SSI, but not the exec feature, with the IncludesNOEXEC argument to the Options directive. Setting variables
1 |
<!--#set var="modified" value="$LAST_MODIFIED" --><!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" --> |
Conditional expressions
1 |
<!--#if expr="test_condition" --><!--#elif expr="test_condition" --><!--#else --><!--#endif --> |
View Details