Maison >interface Web >tutoriel HTML >Shtml rationalisé tutoriel_HTML/Xhtml_Production de pages Web
Il existe certaines similitudes entre shtml et asp. Dans le fichier nommé shtml, certaines instructions SSI sont utilisées, tout comme les instructions dans asp. Vous pouvez écrire des instructions SSI dans le fichier SHTML,
Le. Le serveur lira et interprétera ces fichiers SHTML, et interprétera les instructions SSI contenues dans les fichiers SHTML. Par exemple : vous pouvez utiliser les instructions SSI dans le fichier SHTML pour référencer d'autres fichiers html (#include), et le serveur les envoie au client. . Les fichiers déjà interprétés en SHTML n'auront pas de directives SSI. Il réalise une fonction que HTML n'a pas, c'est-à-dire SHTML qui peut réaliser du
dynamique, ce qui peut être considéré comme une évolution du HTML. Le système de nouvelles de Sina est comme ceci. Le contenu des nouvelles est fixe, mais les publicités et les menus sont référencés à l'aide de #include.
Actuellement, il existe principalement les utilisations suivantes :
1. Afficher les variables d'environnement côté serveur
2. Insérer du contenu texte directement dans le document
3. informations (telles que la date/taille de création du fichier, etc.)
4. Exécutez directement divers programmes sur le serveur (tels que CGI ou d'autres programmes exécutables)
5. Format d'affichage des informations (tel que la méthode d'affichage de la date/taille de création du fichier)
Advanced SSI
Utiliser SSI
SSI est un ensemble de commandes fournies pour le serveur WEB. Ces commandes peuvent être directement intégrées dans le contenu des commentaires du document HTML. Par exemple :
est une commande SSI. Sa fonction est de copier le contenu de "info.htm" dans la page actuelle. Lorsque les visiteurs viendront parcourir, ils verront les informations affichées comme les autres documents HTML. Contenu .htm.
La forme d'utilisation des autres commandes SSI est fondamentalement la même que celle de l'exemple précédent. On peut voir que l'utilisation de SSI ne nécessite que l'insertion d'un peu de code et que la forme d'utilisation est très simple.
Bien entendu, si le serveur WEB ne prend pas en charge SSI, il le traitera simplement comme une information d'annotation et ignorera directement le contenu ; le navigateur ignorera également cette information.
Comment configurer la fonction SSI sur mon serveur WEB ?
Sur certains serveurs WEB (comme IIS 4.0/SAMBAR 4.2), les fichiers contenant les directives #include doivent utiliser une extension qui a été mappée sur l'interpréteur SSI ; sinon, le serveur Web ne traitera pas la directive SSI par défaut ; les extensions .stm, .shtm et .shtml sont mappées sur l'interpréteur (Ssinc.dll).
Apache dépend de vos paramètres. Modifiez srm.conf tel que :
AddType text/x-server-parsed-html .shtml analysera uniquement les instructions SSI pour les fichiers avec l'extension .shtml
AddType text/x-. server-parsed-html .html analysera les instructions SSI pour tous les documents HTML
Le serveur WEB Netscape peut utiliser directement le serveur d'administration pour activer la fonction SSI.
Le site Web utilise la balise Mapping dans le programme Server Admin, et le type de contenu ajouté à l'extension est : wwwserver/html-ssi
Le serveur Cern ne prend pas en charge SSI, vous pouvez utiliser la méthode de fraude SSI, allez sur http ://sw.cse.bris. Téléchargez un script PERL depuis ac.uk/WebTools/fakessi.html pour que votre serveur CERN utilise certaines commandes SSI. (La commande exec n'est pas prise en charge.)
Format de base de la commande SSI
Format de base de la commande SSI :
Code du programme :
Tels que
Code du programme :
Instructions :
1. est un commentaire en syntaxe HTML Lorsque le serveur WEB ne supporte pas SSI, cette information sera ignorée.
2. #include est l'une des directives SSI.
3. file est le paramètre d'include, info.htm est la valeur du paramètre, qui dans cette commande fait référence au nom du document à inclure.
Remarque :
1. Il n'y a pas d'espace entre
Nom de ce document : Code programme :
Heure actuelle : code de programme :
Votre adresse IP est le code de programme :
#include Démonstration
Fonction :
Insérer le contenu du fichier texte directement dans la page du document.
Syntaxe :
Code du programme :
fichier Le nom du fichier est un chemin relatif, le Le chemin est relatif au répertoire contenant le document utilisant la directive #include. Le fichier inclus peut se trouver dans le répertoire de même niveau ou dans son sous-répertoire, mais pas dans le répertoire de niveau supérieur. Par exemple, s'il représente le document nav_head.htm dans le répertoire courant, il s'agit de file="nav_head.htm".
Le nom de fichier virtuel est le chemin complet du répertoire virtuel sur le site Web. Par exemple, il représente le fichier nav_head.htm dans le répertoire hoyi sous le répertoire racine des documents du serveur ; il s'agit de file="/hoyi/nav_head.htm"
Paramètres :
file spécifie l'emplacement du fichier inclus relatif. à ce document
virtuel spécifie l'emplacement par rapport au répertoire racine du document du serveur
Remarque :
1 Le nom du fichier doit avoir une extension.
2. Les fichiers inclus peuvent avoir n'importe quelle extension de fichier. Je pense qu'il est plus pratique d'utiliser directement l'extension htm. Microsoft recommande d'utiliser l'extension .inc (cela dépend de vos préférences).
Exemple :
Code du programme :
Insérer le fichier d'en-tête dans la page actuelle
Insérez le fichier de queue dans la page actuelle
Insérez le fichier d'en-tête dans la page actuelle
Insérez le fichier de queue dans la page actuelle
#flastmod et #démonstration fsize
Fonction : date de dernière mise à jour du fichier #flastmod
longueur du fichier #fsize
Syntaxe :
Code du programme :
Paramètres :
file précise l'emplacement du fichier inclus par rapport à ce document, tel que info.txt représente le document info.txt dans le répertoire courant
virtuel précise l'emplacement par rapport au répertoire racine du document du serveur. Un emplacement tel que /hoyi/info.txt signifie
Remarque :
Le nom du fichier doit avoir une extension.
Exemple :
Code du programme :
Insérer la dernière date de mise à jour du fichier news.htm du répertoire actuel dans la page actuelle
Code du programme :
Insérez la taille du fichier news.htm dans le répertoire actuel dans la page actuelle
Démonstration #exec
Fonction :
Insérer la sortie d'un programme externe dans la page. Il peut être inséré dans des programmes CGI ou comme entrée dans des applications classiques, selon que les paramètres utilisés sont cmd ou cgi.
Syntaxe :
Code du programme :
Paramètres :
application régulière cmd
Programme de script cgi CGI
Exemple :
Code du programme :
Affichera le fichier de mot de passe
Affichera la liste des fichiers dans le répertoire actuel
Le programme CGI gb.cgi sera exécuté.
Le programme CGI access_log.cgi sera exécuté.
Le fichier de mot de passe sera affiché
La liste des fichiers dans le répertoire courant sera affichée
Le programme CGI gb.cgi sera exécuté.
Le programme CGI access_log.cgi sera exécuté.
Remarque :
Comme vous pouvez le voir dans l'exemple ci-dessus, cette commande est assez pratique, mais elle présente également des problèmes de sécurité.
Méthode d'interdiction :
. Apache, supprimez la ligne "Options Include ExecCGI" dans access.conf
. Dans IIS, pour désactiver la commande #exec, vous pouvez modifier la métabase SSIExecDisable ;
#config
Fonction : Spécifiez le format des informations d'erreur, la date et la taille du fichier renvoyées au navigateur client.
Syntaxe :
Code du programme :
Paramètres :
errmsg Personnalisez les messages d'erreur d'exécution SSI comme vous le souhaitez.
mode d'affichage de la taille du fichier sizefmt, la valeur par défaut est le mode octets ("octets") et peut être modifié en mode kilo-octets ("abréviation")
mode d'affichage de l'heure timefmt, l'attribut de configuration le plus flexible.
Exemple : Afficher la taille d'un fichier inexistant
Code du programme :
En milliers Afficher la taille du fichier en octets
Code du programme :
Afficher l'heure dans un format d'heure spécifique
Code du programme :
Afficher le jour de la semaine, le mois et l'heure la zone aujourd'hui est
Afficher le jour de la semaine, le mois et le fuseau horaire d'aujourd'hui est
XSSI
XSSI (Extended SSI) est un ensemble de directives SSI de haut niveau intégrées au module mod-include d'Apache 1.2 ou supérieur.
Les instructions disponibles sont :
#printenv
#set
#if
#printenv
Fonction : Afficher toutes les variables d'environnement existant actuellement dans l'environnement du serveur WEB.
Syntaxe : Code du programme :
Paramètres : Aucun
Exemple :
Code du programme :
#set
Fonction : Vous pouvez attribuer une valeur à une variable à utiliser dans l'instruction if suivante.
Syntaxe : Code du programme :
Paramètres : Aucun
Exemple : Code du programme :
#if
Fonction : Créer une page qui peut modifier les données Les données sont affichées en fonction des exigences calculées lors de l'utilisation de l'instruction if.
Syntaxe : Code du programme :
Afficher le contenu
Afficher le contenu
Afficher le contenu
Afficher le contenu
Afficher le contenu
Afficher le contenu
Exemple :
Code du programme :
Bienvenue sur le forum de discussion sur la sécurité des serveurs http://www.31896.net/.
Bienvenue sur Fineacer Computer Network Security en ligne http://www.fineacer.org/.
Bienvenue sur le forum de discussion sur la sécurité des serveurs !
Bienvenue sur le forum de discussion sur la sécurité des serveurs http://www.31896.net/.
Bienvenue sur Fineacer Computer Network Security en ligne http://www.fineacer.org/.
Bienvenue sur le forum de discussion sur la sécurité des serveurs !
Remarque : La barre oblique inverse utilisée dans la directive précédente est utilisée pour remplacer les guillemets internes afin qu'ils ne soient pas interprétés comme terminant l'expression. Ne peut être omis.
1. Commande Config
La commande Config est principalement utilisée pour modifier les paramètres par défaut de SSI. Parmi eux :
Errmsg : Définit le message d'erreur par défaut. Afin de renvoyer normalement le message d'erreur défini par l'utilisateur, le paramètre Errmsg doit être placé devant les autres commandes SSI dans le fichier HTML. Sinon, le client ne peut afficher que le message d'erreur par défaut au lieu du message personnalisé défini par l'utilisateur.
Timefmt : Définissez le format utilisé pour la date et l'heure. Le paramètre Timefmt doit être utilisé avant la commande echo.
Le résultat est :
Mercredi 12 avril 2000
Peut-être Les utilisateurs ne sont pas familiers avec le %A %B %d utilisé dans l'exemple ci-dessus, nous résumerons ci-dessous certains des formats de date et d'heure les plus couramment utilisés dans SSI sous forme de tableau.
Sizefmt : Détermine si la taille du fichier est exprimée en octets, kilo-octets ou mégaoctets. Si elle est exprimée en octets, la valeur du paramètre est « octets » ; des abréviations peuvent être utilisées pour les kilo-octets et les mégaoctets. De même, le paramètre sizefmt doit être placé devant la commande fsize à utiliser.
2. Commande Inclure
La commande Inclure peut insérer du texte ou des images provenant d'autres documents dans le document actuellement analysé, qui est la clé de l’ensemble du SSI. Avec la commande Inclure, il vous suffit de modifier un seul fichier pour mettre à jour instantanément l'ensemble du site ! La commande
Include a deux paramètres différents :
Virtuel : donne un chemin virtuel vers un document côté serveur. Par exemple :
Fichier : donne le chemin relatif vers le répertoire courant, où "../" ne peut pas être utilisé, et les chemins absolus ne peuvent pas être utilisés. Par exemple :
Cela nécessite que chaque répertoire contienne un fichier header.html.
3. Commande Echo
La commande Echo peut afficher les variables d'environnement suivantes :
DOCUMENT_NAME : Affiche le nom du document actuel.
Le résultat affiché est :
index.html
DOCUMENT_URI : Affiche le chemin virtuel du document actuel. Par exemple :
Le résultat affiché est :
/YourDirectory/YourFilename.html
À mesure que le site Web continue de se développer, ces adresses URL de plus en plus longues donneront certainement des maux de tête aux gens. . Si vous utilisez SSI, tout sera résolu. Parce que nous pouvons combiner le nom de domaine du site Web et la commande SSI pour afficher l'URL complète, c'est-à-dire :
http://votredomaine
QUERY_STRING_UNESCAPED : Afficher l'URL sans échappement dans la chaîne de requête envoyée par le client, tous les caractères spéciaux sont précédés du caractère d'échappement "". Par exemple :
DATE_LOCAL : Affiche la date et l'heure dans le fuseau horaire défini par le serveur. Les utilisateurs peuvent personnaliser les informations de sortie en combinant le paramètre timefmt de la commande config. Par exemple :
Le résultat affiché est :
Samedi 15 avril de l'an 2000
DATE_GMT : La fonction est la même que DATE_LOCAL, sauf qu'elle renvoie une date basée sur l'heure moyenne de Greenwich. Par exemple :
LAST_MODIFIED : Affiche l'heure de la dernière mise à jour du document actuel. De même, il s'agit d'une fonction très pratique dans SSI Tant que vous ajoutez la simple ligne de texte suivante au document HTML, l'heure de mise à jour peut être affichée dynamiquement sur la page.
Variables d'environnement CGI
En plus des variables d'environnement SSI, la commande echo peut également afficher les variables d'environnement CGI suivantes :
SERVER_SOFTWARE : Afficher le nom et la version du logiciel serveur. Par exemple :
SERVER_NAME : affiche le nom d'hôte du serveur, l'alias DNS ou l'adresse IP. Par exemple :
SERVER_PROTOCOL : affiche le nom et la version du protocole utilisé par la requête du client, par exemple HTTP/1.0. Par exemple :
SERVER_PORT : affiche le port de réponse du serveur. Par exemple :
REQUEST_METHOD : affiche la méthode de demande de document du client, notamment GET, HEAD et POST. Par exemple :
REMOTE_HOST : affiche le nom d'hôte du client qui a émis les informations demandées.
REMOTE_ADDR : affiche l'adresse IP du client qui a émis les informations de la demande.
AUTH_TYPE : affiche la méthode de vérification de l'identité de l'utilisateur.
REMOTE_USER : Affiche le nom de compte utilisé par l'utilisateur qui a accédé à la page protégée.
4. Fsize : affiche la taille du fichier spécifié. Le format de sortie peut être personnalisé en combinant le paramètre sizefmt de la commande de configuration.
5. Flastmod : Affiche la date de dernière modification du fichier spécifié, et peut être combiné avec le paramètre timefmt de la commande de configuration pour contrôler le format de sortie.
Ici, on peut utiliser le paramètre flashmod pour afficher la date de mise à jour de toutes les pages liées sur une page. La méthode est la suivante :
Fichier
Un autre fichier
Afficher les résultats Pour :
Fichier 19 avril 2000
Autre fichier 8 janvier 2000
6. Exec
La commande Exec peut exécuter des scripts CGI ou des commandes shell. L'utilisation est la suivante :
Cmd : utilisez /bin/sh pour exécuter la chaîne spécifiée. Si SSI utilise l'option IncludeNOEXEC, cette commande sera bloquée.
Cgi : Peut être utilisé pour exécuter des scripts CGI. Par exemple, dans l'exemple suivant, le script counter.pl dans le répertoire cgi-bin du serveur est utilisé pour placer un compteur sur chaque page :