语法:
<!--#exec cmd="文件名称"-->
<!--#exec cgi="文件名称"-->
参数:
cmd 常规应用程序
cgi CGI脚本程序
示例:
<!--#exec cmd="cat /etc/passwd"--> 将会显示密码文件
<!--#exec cmd="dir /b"--> 将会显示当前目录下文件列表
<!--#exec cgi="/cgi-bin/gb.cgi"--> 将会执行CGI程序gb.cgi。
<!--#exec cgi="/cgi-bin/access_log.cgi"--> 将会执行CGI程序access_log.cgi。
注意:从上面的示例可以看出,这个指令相当方便,但是也存在安全问题。
禁止方法:
#config
作用: 指定返回给客户端浏览器的错误信息、日期和文件大小的格式。
语法:
<!--#config errmsg="自定义错误信息"-->
<!--#config sizefmt="显示单位"-->
<!--#config timefmt="显示格式"-->
参数:
errmsg 自定义SSI执行错误信息,可以为任何你喜欢的方式。
sizefmt 文件大小显示方式,默认为字节方式("bytes")可以改为千字节方式("abbrev")
timefmt 时间显示方式,最灵活的配置属性。
示例:显示一个不存在文件的大小
<!--#config errmsg="服务器执行错误,请联系管理员 yiho@126.com,谢谢!"-->
<!--#fsize file="不存在的文件.htm"-->
以千字节方式显示文件大小
语法:
<!--#config sizefmt="abbrev"-->
<!--#fsizefile="news.htm"-->
以特定的时间格式显示时间
<!--#config timefmt="%Y年/%m月%d日 星期%W 北京时间%H:%M:%s,%Y年已过去了%j天 今天是%Y年的第%U个星期"-->
<!--#echo var="DATE_LOCAL"--> 显示今天是星期几,几月,时区
<!--#config timefmt="今天%A, %B ,服务器时区是 %z,是"-->
<!--#echo var="DATE_LOCAL"-->
XSSI(Extended SSI)是一组高级SSI指令,内置于Apache 1.2或更高版本的mod-include模块之中。其中可利用的的指令有:
#printenv
#set
#if
#printenv
作用: 显示当前存在于WEB服务器环境中的所有环境变量。
语法:
<!--#printenv-->
#set
作用:可给变量赋值,以用于后面的if语句。
语法:
<!--#set var="变量名" value="变量值"-->
示例:
<!--#set var="color" value="红色"-->
#if
作用:创建可以改变数据的页面,这些数据根据使用if语句时计算的要求予以显示。
语法:
<!--#if expr="$变量名=\"变量值A\""-->
显示内容
<!--#elif expr="$变量名=\"变量值B\""-->
显示内容
<!--#else-->
显示内容
<!--#endif"-->
示例:
<!--#if expr="$SERVER_NAME=\"hoyi.zb169.net\""-->
欢迎光临好易CGI工厂在淄博热线的分站 http://hoyi.zb169.net。
<!--#elif expr="$SERVER_NAME=\"linux.cqi.com.cn\"" -->
欢迎光临好易CGI工厂在太阳城的分站 http://linux.cqi.com.cn/~hoyi。
<!--#else-->
欢迎光临好易CGI工厂!
<!--#endif"-->
注意:用于前面指令中的反斜杠,是用来代换内部的引号,以便它们不会被解释为结束表达式。不可省略。
1、Config 命令
Config 命令主要用于修改SSI的默认设置。其中:
Errmsg:设置默认错误信息。为了能够正常的返回用户设定的错误信息,在HTML文件中Errmsg参数必须被放置在其它SSI命令的前面,否则客户端只能显示默认的错误信息,而不是由用户设定的自定义信息。
<!--#config errmsg="Error! Please email webmaster@mydomain.com" -->
Timefmt:定义日期和时间的使用格式。Timefmt参数必须在echo命令之前使用。