关于SSI

原创 2004年07月06日 23:35:00
SSI有什么用?
  目前,主要有以下几种用用途:
  1、显示服务器端环境变量<#echo>
  2、将文本内容直接插入到文档中<#include>
  3、显示WEB文档相关信息<#flastmod #fsize> (如文件制作日期/大小等)
  4、直接执行服务器上的各种程序<#exec>(如CGI或其他可执行程序)
  5、设置SSI信息显示格式<#config>(如文件制作日期/大小显示方式)
  高级SSI<XSSI>可设置变量使用if条件语句。
 
使用SSI
  SSI是为WEB服务器提供的一套命令,这些命令只要直接嵌入到HTML文档的注释内容之中即可。如:
  <!--#include file="info.htm"-->
  就是一条SSI指令,其作用是将"info.htm"的内容拷贝到当前的页面中,当访问者来浏览时,会看到其它HTML文档一样显示info.htm其中的内容。
  其它的SSI指令使用形式基本同刚才的举例差不多,可见SSI使用只是插入一点代码而已,使用形式非常简单。
  当然,如果WEB服务器不支持SSI,它就会只不过将它当作注释信息,直接跳过其中的内容;浏览器也会忽略这些信息。
 
如何在我的WEB服务器上配置SSI功能?
  在一些WEB服务器上(如IIS 4.0/SAMBAR 4.2),包含 #include 指令的文件必须使用已被映射到 SSI 解释程序的扩展名;否则,Web 服务器将不会处理该SSI指令;默认情况下,扩展名 .stm、.shtm 和 .shtml 被映射到解释程序(Ssinc.dll)。
  Apache则是根据你的设置情况而定,修改srm.conf如:
  AddType text/x-server-parsed-html .shtml 将只对.shtml扩展名的文件解析SSI指令
  AddType text/x-server-parsed-html .html将对所有HTML文档解析SSI指令
  Netscape WEB服务器直接使用Administration Server(管理服务器)可打开SSI功能。
  Website使用Server Admin程序中的Mapping标签,扩展名添加内容类型为:wwwserver/html-ssi
  Cern服务器不支持SSI,可用SSI诈骗法,到http://sw.cse.bris.ac.uk/WebTools/fakessi.html  上下载一个PERL脚本,即可使你的CERN服务器使用一些SSI指令。(不支持exec指令。)
 
SSI指令基本格式
SSI指令基本格式:
程序代码:
<!--#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”--> 
hn2_sunny.gif
注意: 用于前面指令中的反斜杠,是用来代换内部的引号,以便它们不会被解释为结束表达式。不可省略。
之所以要扯到ssi,是因爲shtml--server-parsed HTML 的首字母缩略词。包含有嵌入式服务器方包含命令的 HTML 文本。在被传送给浏览器之前,服务器会对 SHTML 文档进行完全地读取、分析以及修改。
shtml和asp 有一些相似,以shtml命名的文件里,使用了ssi的一些指令,就像asp中的指令,你可以在SHTML文件中写入SSI指令,当客户端访问这些shtml文件时,
服务器端会把这些SHTML文件进行读取和解释,把SHTML文件中包含的SSI指令解释出来比如:你可以在SHTML文件中用SSI指令引用其他的html文件(#include ),服务器传送给客户端的文件,是已经解释的STHML不会有SSI指令。它实现了HTML所没有的功能,就是可以实现了动态
的SHTML,可以说是HTML的一种进化吧。像新浪的新闻系统就是这样的,新闻内容是固定的但它上面的广告和菜单等就是用#include引用进来的。

Nginx+ssi结合配置

什么是 SSI (Server Side Includes) ? 用过Apache的都应该知道吧,它可以使静态网页实现像动态网页一样 include 的功能,还有一些简单的语法 Nginx 居然默...
  • tony168hongweigan
  • tony168hongweigan
  • 2014-03-21 10:46:32
  • 2876

HTML语言SSI指令语法

SSI有什么用? 之所以要扯到ssi,是因爲shtml--server-parsed HTML 的首字母缩略词。包含有嵌入式服务器方包含命令的 HTML 文本。在被传送给浏览器之前,服务器会对 SHT...
  • dadou2007
  • dadou2007
  • 2008-06-08 00:16:00
  • 3712

Java SSH/SSI框架科普(Struts+Spring+Hibernate/Ibatis)

SSH 为 Struts+Spring+Hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。 集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以...
  • libaineu2004
  • libaineu2004
  • 2015-03-16 16:40:41
  • 7789

SSI 注入的介绍和代码防御

0x01 介绍 当符合下列条件时,攻击者可以在 Web 服务器上运行任意命令: A. Web 服务器已支持 SSI(服务器端包含)。 B. Web 应用程序在返回 HTML 页面时,嵌入用户输...
  • qq_29277155
  • qq_29277155
  • 2016-10-07 19:53:59
  • 2006

【ARM】仅用三个GPIO口实现串行SSI信号读取

关键词:磁编码器AS5040,、ARM通用定时器、SSI接口          本篇文稿主要是探讨一下用ARM上的通用定时器,也就是俗称的GPIO口,读取SSI串行信号的问题。        串行数据...
  • DQ_Lab
  • DQ_Lab
  • 2017-04-08 12:09:49
  • 1708

SSI同步串行信号

参考:http://zch2634.blog.163.com/blog/static/7517477620084179322647/ Synchronous Serial Interface--...
  • xzongyuan
  • xzongyuan
  • 2014-05-12 14:13:44
  • 1295

同步串口协议SSI(包括SPI)和I2C的区别

主要区别在于命令的传输:SSI协议是先传1字节的命令(7位命令+1位读写标志位),然后传输两个字节的数据;I2C可以不停地传输字节(数据或者命令),没区分发送的顺序,但是在格式上,规定某些具体数值为控...
  • xzongyuan
  • xzongyuan
  • 2014-05-22 15:30:54
  • 3564

如何在WEB服务器上配置SSI功能

如何在我的WEB服务器上配置SSI功能?在一些WEB服务器上(如IIS 4.0/SAMBAR 4.2),包含 #include 指令的文件必须使用已被映射到 SSI 解释程序的扩展名;否则,Web 服...
  • wachyeah
  • wachyeah
  • 2007-01-05 11:58:00
  • 672

ssi服务器端指令详解(shtml)

你是否曾经或正在为如何能够在最短的时间内完成对一个包含上千个页面的网站的修改而苦恼?那么可以看一下本文的介绍,或许能够对你有所帮助。 什么是SSI? SSI是英文Server Side Include...
  • smartsmile2012
  • smartsmile2012
  • 2016-10-21 18:20:36
  • 2727

SSI框架整合实战成果

闲来无事,收集了各种SSI整合资料之后,比葫芦画瓢终于画出来一个。备份于此,以免遗忘。 一,准备工作 数据库建立 /* SQLyog Enterprise - MySQL GUI Host ...
  • lidawei201
  • lidawei201
  • 2013-01-16 15:25:45
  • 9369
收藏助手
不良信息举报
您举报文章:关于SSI
举报原因:
原因补充:

(最多只允许输入30个字)