Server Side Includes Server Side Includes Ing. Javier Giese, MC ¿Qué son los SSI? • DIRECTIVAS Server Side Includes Ing. Javier Giese, MC 2 1 ¿Qué son los SSI? • DIRECTIVAS ¿Dónde las encuentro? Documento Documento en en HTML HTML Server Side Includes Ing. Javier Giese, MC 3 ¿Qué son los SSI? • DIRECTIVAS ¿Para qué sirven? Ejecución de programas Server Side Includes Ing. Javier Giese, MC 4 2 ¿Qué son los SSI? • DIRECTIVAS ¿Para qué sirven? Ejecución de programas Datos (variables de ambiente, estadísticas) Server Side Includes Ing. Javier Giese, MC 5 ¿Qué son los SSI? • DIRECTIVAS NO son soportadas/disponibles por cualquier servidor • Configuración • “fakessi.pl” Server Side Includes Ing. Javier Giese, MC 6 3 ¿Cómo funcionan los SSI? Browser Server Side Includes Ing. Javier Giese, MC 7 ¿Cómo funcionan los SSI? Browser Server Side Includes Servidor Ing. Javier Giese, MC 8 4 ¿Cómo funcionan los SSI? Browser Servidor HTML HTML con con SSI SSI Server Side Includes Ing. Javier Giese, MC 9 ¿Cómo funcionan los SSI? Browser Servidor HTML HTML con con SSI SSI ¿SSI? Server Side Includes Ing. Javier Giese, MC 10 5 ¿Cómo funcionan los SSI? Servidor Browser HTML HTML con con SSI SSI ¿SSI? FECHA HTML HTML Server Side Includes Ing. Javier Giese, MC 11 Configuración de SSIs • httpd.conf Configurar la extensión de documentos con SSIs .shtml Permitir uso de directivas de SSI en documentos de HTML Permitir ejecución de programas externos Server Side Includes Ing. Javier Giese, MC 12 6 Configuración de SSIs • AddType text/html .shtml AddOutputFilter INCLUDES .shtml AddHandler server-parsed .shtml (sólo previo a Apache 2.0) • En aquellos directorios (<Directory>) donde se almacenen SSI, agregar: Options+ Includes ya sea en httpd.conf o en archivos .htaccess Server Side Includes Ing. Javier Giese, MC 13 Sintaxis de SSIs <!--#comando parámetro(s)=“argumentos”--> Server Side Includes Ing. Javier Giese, MC 14 7 Directivas SSIs • config config errmsg | sizefmt | timefmt = “string” – sizefmt: bytes | abbrev – timefmt: “códigos de estado” • echo echo var=“variable_de_ambiente” • exec exec cmd | cgi=“string” • flastmod flastmod file=“trayectoria” Server Side Includes Ing. Javier Giese, MC 15 Directivas SSIs • fsize fsize file | virtual = “trayectoria” • Include include file | virtual = “trayectoria” • printenv • set set var=“nombre” value=“valor” Server Side Includes Ing. Javier Giese, MC 16 8 Directivas SSIs • timefmt %a (“Sun”) vs %A (“Sunday”) %b (“Jan”) vs %B (“January”) %d (“01”) vs %D (“01/24/04”) vs %e (“1”) %H (24 hrs. “13”) vs %I (12 hrs “1”) %j (día del año) %m (número de mes) %M (minutos) %S (segundos) %r (= “%I:%M:%S %p”) %T (= “%H:%M:%S”) %U,%W (semana-año) %w (número de día de la semana) %y (“04) vs %Y (“2004”) %p (“AM | PM”) %Z (zona de tiempo “EST”) Server Side Includes Ing. Javier Giese, MC 17 Ejemplos de directivas • echo Sintaxis: echo var=“variable de ambiente” ejem: <!--#echo var=“SERVER_NAME”--> Server Side Includes Ing. Javier Giese, MC 18 9 Ejemplos de directivas • include Sintaxis: include file=“archivo.html” include virtual=“ruta/archivo.html” ejem: <!--#include file=“firma.html”--> Server Side Includes Ing. Javier Giese, MC 19 Ejemplos de directivas • fsize Sintaxis: fsize file=“archivo” ejem: <!--#fsize file=“ejemplo.txt”--> Server Side Includes Ing. Javier Giese, MC 20 10 Ejemplos de directivas • exec Sintaxis: exec cmd=“comando” ejem: <!--#exec cmd=“/usr/ucb/finger $REMOTE_USER@$REMOTE_HOST”--> Server Side Includes Ing. Javier Giese, MC 21 Estatutos Condicionales SSI • • • • <!--#if expr=“expresion”--> <!--#elif expr=“expresion”--> <!--#else--> <!--#endif--> Server Side Includes Ing. Javier Giese, MC 22 11 Estatutos Condicionales SSI <!--#if expr=“$mivar=activa”--> <b>Variable activa</b> <!--#elif expr=“$mivar=inactiva”--> <b>Variable inactiva</b> <!--#else--> <b>Valor desconocido para mi variable</b> <!--#endif--> Server Side Includes Ing. Javier Giese, MC 23 Variables de ambiente • • • • • • DOCUMENT_NAME DOCUMENT_URI DATE_LOCAL DATE_GMT LAST_MODIFIED Y variables estándar de CGIs Ej: <!--#echo var=“LAST_MODIFIED” --> Server Side Includes Ing. Javier Giese, MC 24 12 Todos los derechos reservados © Copyright 2004 Javier Giese Prohibida su reproducción parcial o total sin consentimiento por escrito del autor. Server Side Includes Ing. Javier Giese, MC 25 13