`
pavel
  • 浏览: 928280 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SSI 指令语法详细

    博客分类:
  • jsp
 
阅读更多

 

  1. SSI被称为“服务器端包含”或“服务器端嵌入”技术。是一种基于服务器端的网页制作技术。
  2. shtml文件就是应用了SSI技术的html文件
  3. SSI工作原理因为是基于服务器端的网页制作技术,所以在.shtml页面返回到客户端前,页面中的SSI指令将被服务器解析。可以使用SSI指令将其它文件、图片包含在页面中,也可以将其它的CGI程序包含在页面中,如.aspx文件。在给客户端返回的页面中不会包含SSI指令。如果SSI指令不能被解析,则浏览器会将其做为普通的HTML注释处理。
  4. SSI的特点速度:介于类似于.asp与.html之间。比.asp快,但比.html慢维护:SSI能使页面在维护的时候更简单,维护的效率也更高。

显示服务器端环境变量<#echo>
将文本内容直接插入到文档中<#include>
显示WEB文档相关信息<#f lastmod #f size> (如文件制作日期/大小等)
直接执行服务器上的各种程序<#exec>(如CGI或其他可执行程序)
设置SSI信息显示格式<#config>(如文件制作日期/大小显示方式)
高级SSI<XSSI>可设置变量使用if条件语句

 

SSI包含六大指令

1、config指令:用于修改SSI的默认设置

参数:errmsg, timefmt, sizefmt

errmsg:设置默认的错误信息,该指令必须入在其它指令的前面

示例:<!--#config errmsg="error!please email mamager!"-->

Timefmt:设置日期与时间的显示格式,需放在echo指令前

示例:

<!--#config timefmt="%A, %B %d, %Y"-->

<!--#echo var="last_modified"-->

Sizefmt:设置表示文件大小的单位。如bytes。该指令需要放在fsize指令前使用。

示例:

<!--#config sizefmt="bytes"-->
<!--#fsize file="head.html"-->

2、Include指令:用于将其它文档或元素包含在当前文档中

参数:virtual file

virtual:给出到服务器端某个文档的虚拟路径

示例:

<!--include virtual="/includes/header.html"-->

file:给出到当前目录的相对路径,其中不能使用"../",也不能使用绝对路径

示例:

<!--include file="header.html"-->

这就要求每一个目录中都包含一个header.html文件。

3、Echo:用于显示各种服务器变量

参数:var

示例:

<!--#echo var="DOCUMENT_NAME"-->

以下是常见的服务器变量:

DOCUMENT_NAME:显示当前文档的名称

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

QUERY_STRING_UNESCAPED:显示未经转义处理的由客户端发送的查询字串,其中所有的特殊字符前面都有转义符"\

DATE_LOCAL:显示服务器设定时区的日期和时间。用户可以结合config命令的timefmt参数,定制输出信息

示例:

<!--#config timefmt="%A,the %d of %B,in the year %Y"-->
<!--#echo var="DATE_LOCAL"-->

输出结果:

Saturday, the 15 of April, in the year 2000

DATE_GMT:功能与DATE_LOCAL一样,只不过返回的是以格林尼治标准时间为基准的日期

LAST_MODIFIED:显示当前文档的最后更新时间

除了SSI环境变量之外,echo命令还可以显示以下CGI环境变量:

SERVER_SOFTWARE:显示服务器软件的名称和版本

SERVER_NAME:显示服务器的主机名称,DNS别名或IP地址

SERVER_PROTOCOL:显示客户端请求所使用的协议名称和版本,如HTTP/1.0

SERVER_PORT:显示服务器的响应端口

REQUEST_METHOD:显示客户端的文档请求方法,包括GET, HEAD, 和POST

REMOTE_HOST:显示发出请求信息的客户端主机名称

REMOTE_ADDR:显示发出请求信息的客户端IP地址

AUTH_TYPE:显示用户身份的验证方法

REMOTE_USER:显示访问受保护页面的用户所使用的帐号名称

4、Fsize:显示指定文件的大小,可以结合config命令的sizefmt参数定制输出格式

参数:file

示例:

<!--#fsize file="index_working.html"-->

5、Flastmod:显示指定文件的最后修改日期,可以结合config 命令的timefmt参数控制输出格式

参数:file

示例:

<!--#config timefmt="%A, the %d of %B, in the year %Y"-->
<!--#flastmod file="file.html"-->

6、Exec:可以执行CGI脚本或者shell命令

参数:cmd cgi

Cmd:使用/bin/sh执行指定的字串。如果SSI使用了IncludesNOEXEC选项,则该命令将被屏蔽

Cgi:可以用来执行CGI脚本 

分享到:
评论

相关推荐

    ssi整合基本jar

    6. **错误处理**:学习如何调试和处理SSI相关的错误,例如文件找不到、指令语法错误等。 7. **与Java框架集成**:如果你正在使用Spring、Struts或其他Java Web框架,了解如何将SSI整合进这些框架的视图层。 8. **...

    apache SSI教程文档

    这些文档包含了所有可用的SSI指令、变量以及如何使用它们的实例。通过了解和熟练使用SSI,你可以创建更加动态和灵活的网页,同时降低维护成本。 例如,你可以使用`&lt;!--#include virtual="ssi/footer.ssi" --&gt;`指令...

    SSI.zip_SSI_SSI Injection代码

    SSI注入,即SSI Injection,是指攻击者通过输入恶意的SSI指令到应用程序中,来利用服务器的SSI功能,获取敏感信息或执行非法操作。这种漏洞常见于用户可控的数据被直接插入到包含SSI指令的页面中,例如评论、表单...

    ssi项目实例

    1. **SSI基本语法**:了解如何在HTML文件中插入SSI指令,例如`&lt;!--#include virtual="file.html" --&gt;`用于引入其他文件,`&lt;!--#echo var="DATE_LOCAL" --&gt;`用于显示服务器的当前日期和时间。 2. **SSI指令**:学习...

    SSI.zip_SSI

    --#include virtual="filename"--&gt;`:这可能是最常用的SSI指令,用于包含服务器上的文件。`virtual`参数指定要包含的文件的URL路径。 2. `&lt;!--#include file="filename"--&gt;`:与上一个类似,但这里的`file`参数指定...

    ssi简单demo

    下面,我们将详细探讨SSI的核心概念、基本语法以及在数据库交互中的应用。 1. SSI核心概念: SSI主要用于在HTML页面中嵌入服务器端的命令或脚本,使得静态网页也能实现一定的动态效果。它不需要专门的服务器端编程...

    ssi 整合 及 jar包

    解决这些问题可能需要深入理解Java虚拟机的工作原理、Web服务器的配置以及SSI指令的语法。 在实际应用中,这样的整合可以提高开发效率,因为开发者可以在不改变整个页面结构的情况下,通过SSI指令轻松地添加或更新...

    ssi

    不过,可以想象学习路径可能包括理解SSI的基本语法和配置,了解如何在HTML文件中插入SSI指令,熟悉SWT的基本组件和布局管理,以及如何用SWT创建一个能够处理SSI的Java应用。这些知识对于Web开发者和Java程序员来说都...

    SSI框架登录实例.

    在登录功能中,可能会用到的SSI指令有: 1. `&lt;!--#include file="filename.ext" --&gt;`:包含本地文件,这里的`filename.ext`是相对当前文档的路径。 2. `&lt;!--#exec cmd="command" --&gt;`:执行服务器上的命令,并显示...

    ssi详细解答,史上最全的注解

    SSI的基本语法主要包括以下几点: 1. `&lt;!--#include file="filename"--&gt;`:这是最常用的指令,用于将指定的文件内容插入到当前HTML文档中。"filename"是相对当前SSI文件的路径。 2. `&lt;!--#config timefmt="%Y-%m-%...

    SSI框架的实现

    --#set var="myVar" value="value"`创建自定义变量,并在后续的ssi指令中引用。 8. **错误处理** 可以通过`&lt;!--#error`指令处理SSI错误,比如当包含的文件不存在时,可以设置一个默认的错误提示页面。 9. **性能...

    SSI框架小Demo的源码

    1. **SSI指令**:SSI主要通过特定的指令来实现其功能,如`&lt;!--#include file="filename" --&gt;`用于插入文件,`&lt;!--#config timefmt="%Y-%m-%d %H:%M:%S" --&gt;`用于设置日期时间格式,以及`&lt;!--#exec cmd="command" --&gt;...

    SSI.rar 代码库

    在"SSI.rar 代码库"中,可能包含了各种SSI指令的示例文件,比如包含不同类型的文件、根据条件显示内容、动态输出时间等。这些例子有助于学习者理解如何在实际场景中应用SSI,提升网页动态化的能力。 学习和使用SSI...

    SSI 整合Demo

    常见的SSI指令包括: 1. `&lt;!--#include file="filename" --&gt;`:用于包含其他文件,如头文件、脚本或导航栏。 2. `&lt;!--#config timefmt="%Y-%m-%d %H:%M:%S" --&gt;`:配置日期和时间的格式。 3. `&lt;!--#echo var="DATE_...

    velocity+ssi整合

    例如,我们可以创建一个 VelocityContext 对象,将SSI所需的变量添加进去,然后通过Velocity的`Template`对象和`VelocityEngine`来处理包含SSI指令的文件。在处理过程中,自定义的工具会捕获到SSI指令,并用Velocity...

    ssi框架demo

    常见的SSI指令包括`&lt;!--#include&gt;`用于引入其他文件,`&lt;!--#config timefmt=`来设置时间格式,以及`&lt;!--#exec`执行服务器上的脚本等。 在这个"ssi框架demo"中,可能包含了以下知识点: 1. **SSI基本语法**:项目...

    传一培训时候做的基于SSI的WEB项目

    4. **测试与调试**:访问包含SSI指令的页面,查看服务器是否正确处理并插入了内容。 ### SSI的优势与局限性 **优势**: - **简单易用**:SSI语法简单,适合快速实现简单的动态效果。 - **节省带宽**:通过包含文件...

    SSI框架学习

    在Apache中,你需要在配置文件httpd.conf中启用ssi模块,并在相应目录下设置AllowOverride为All,以便允许SSI指令在HTML文件中生效。对于Nginx,你需要在server block中添加ssi on;指令来开启SSI支持。 接下来,...

    SSI框架实例源码

    1. **SSI语法**:了解基本的SSI指令,如`&lt;!--#include virtual="..." --&gt;`用于包含其他文件,`&lt;!--#config timefmt="..." --&gt;`用于设置时间格式,以及`&lt;!--#exec cmd="..." --&gt;`执行服务器端命令等。 2. **文件包含...

    ssi整合带有实例

    在进行SSI整合时,你需要确保所有引用的文件路径正确无误,并且服务器已经正确配置以解析SSI指令。如果遇到问题,查看服务器日志通常能提供有价值的线索,如权限错误、文件不存在等问题。 为了更深入地理解和实践这...

Global site tag (gtag.js) - Google Analytics