SSI的配置方法

  IIS中,服务器端内嵌(SSI)可以将文本、图形或应用程序信息包括到Web页中,包含SSI指令的Web页面文件的默认扩展名是.stm、.shtm和.shtml,也可以自行定义,分析引擎是ssinc.dIl。在lis5.0中,启用和禁用SSI非常简单,通过设定应用程序映射即可。在Internet服务管理器中打开要包含SSI文件的目录的属性窗口,在“目录”页中,进行应用程序设置,单击“创建”按钮,然后再单击“配置”按钮,打开应用程序配置窗口,在应用程序映射列表中编辑或添加说明是SSI文件的扩展名,并指定以ssinc.dll程序解释运行。注意,启用SSI解释引擎的目录需要有脚本执行权限。要禁用SSI时,只要将相应扩展名的应用程序配置记录删除即可。

  2.SSI命令

  IIS5.0支持以下SSI命令,其中只有include可以用于asp页面。

  1)config:指定返回客户浏览器的错误消息、日期和文件大小的格式,语法是,只能用于HTML页面,不能用于ASP。其中output参数可以是以下几种:

  ✧ERRMSG:当SsI命令处理过程中出现错误时,控制返回客户浏览器的消息。默认情况下,错误消息将提供详细描述出错情况的调试信息。如果取消这些详细情况,通过该命令参数可以提供短小、简单的错误消息,例如将显示“出现SSI错误”的消息。

  ✧TIMEFMT:指定返回客户浏览器的日期和时间的格式,String参数指定格式,.格式化符号与用于ANSICstrfime函数的相同。

  ✧SIZEFMT。指明显示文件大小的单位。String参数可以有两个值:“ABBREV”以千字节为单位显示文件大小,而“BYTE"则以字节为单位显示文件大小。

  2)echo:将环境变量值插入到HTML页中,语法是。其中环境变量可以是以下几种:

  ✧ALL_HTTP:尚未解析成该表中描述的其他变量的所有HTTP头。这些变量的格式为HTTP头字段名。HTTP头由带有换行符分隔的单独HTTP头的空结束字符串组成。

  ✧AUTH_TYPE:显示所使用的验证类型。如果使用基本验证,则显示“Basic”字符串,对于集成验证则显示“integratedWindowsauthentication"。

  ✧AUTH_PASSWORD:显示在客户端在基本身份验证时输入的口令。

  ✧AUTH_USER:显示在客户端在基本身份验证时输入的用户名。

  ✧CONTENTLENGTH:显示脚本期望从客户端接收到的字节数量。

  ✧CONTENTTYPE:POST请求正文中提供的信息内容类型。

  ✧DOCUMENTNAME:显示当前文件名。

  ✧DOCUMENT_URI:显示当前文档的虚拟路径。

  ✧DATE_GMT:显示当前的格林威治标准时间。

  ✧DATE_LOCAL:显示以本地时区表示的当前时间。

  ✧GATEWAYINTERFACE:以CGl/revision格式显示Web服务器使用的CGI规范修订本。

  ✧HTTP_ACCEPT:显示特殊情况下的HTtP头。

  ✧LASTMODIFIED:显示当前文档的最新更新日期。

  ✧PATH_INFO:显示附加的路径信息。

  ✧PATH_TRANSLATED:这是PATH_INFO的值,但具有扩展至目录规范的虚拟路径。

  ✧QUERYSTRING:跟随在引用该脚本的URL中问号之后的信息。

  ✧QUERYSTRINGUNESCAPED:查询字符串的Unescaped版本即不是URL编码的另一版本。

  ✧REMOTEADDR:显示发送请求的客户端或客户代理(例如网关或防火墙)的IP地址。

  ✧REMOTEHOST:显示发送请求的客户或客户代理(例如网关或防火墙)的主机名。如果使用IIS2.0和3.0,则仍然返回IP地址。

  ✧REMOTE_USER:显示由客户提供和服务器验证的用户名。

  ✧REQUESTMETHOD:显示HTTP请求方法。

  ✧SCRIPTNAME:显示正在执行的脚本程序名。

  ✧SERVERNAME:显示服务器的主机名或IP地址。

  ✧SERVER_PORT:显示接收请求的TCP/IP端口。

  ✧SERVERPORTSECURE:是0或1的一个字符串。如果正在安全端口,上处理请求,则其为1;否则将为0。

  ✧SERVER_PROTOCOL:以“名称/版本”格式显示与该请求相关的信息检索协议的名称和版本,通常为HTTP/1.0或HTTP/1.1.

  ✧SERVER_SOFTWARE:以“名称/版本”格式显示Web服务器的名称和版本。

  ✧URL:显示给定URL的基本部分,不包括参数值。

  3)exec;运行应用程序或外壳命令并将输出结果插入到HTML页中,语法是。CommandType指定命令类型,可以是:

  ✧CGI:指明运行应用程序,例如CGI、ASP或ISAPI应用程序.CommandDescription参数是个包含应用程序虚拟路径的字符串,其后可以用问号传递给应用程序参数,如果有多个参数,那么各参数以加号(+)分隔。

  ✧CMD:指明要运行的操作系统命令行,CommandDescription参数是一一个包含命令行程序完整物理路径的字符串,其后跟有由空格分隔的命令行参数。如果未指定完整路径,Web服务器将搜索系统路径。默认情况下禁用该命令,因为容易引起Web站点的安全问题,例如format命令就是一个很危险的命令。

  要启用命令行,需要将SSIEnableCmdDirective项添加到注册表,并将其值设置为“TRUE"。

  4)flastmod:将指定文件的修改时间显示到HTML页中。语法,其中PathType可以为FILE(文档所在目录的相对路径)或VIRTUAL(Web站点虚拟目录中的完全路径),FileName为要显示修改时间的文件名字符串,例如

  5)fsize:显示指定文件的大小。使用方式与flastmod完全相同。

  6)include:将文件包含在HTML或ASP页中。使用方式与flastmod完全相同。例如(被包含文件与父文件存在于相同目录中)和(被包含文件位于脚本虚拟目录中)等。

  Include命令可以用在ASP页面中,要包含的文件的扩展名一般为.inc