Links ::  | DEV web management system | Katalóg | Webhosting | Recepty
  
 Index | Registrácia | Hľadať | Galéria | BoardNeprihlásený užívateľ  //Štvrtok, 23. Novembra 2017 
Navigation
Index
Top 10 autorov
Top 20 článkov
Hľadať
Galéria

Zones
Asp.(NET)
C/C++
Flash
Grafika+Design
Hardware
Hry
Html/Css/Xml
Java
Linux
Networks
Operačný systém
Pascal/Delphi
PHP
Security
Software
SQL
Visual Basic
Wap/Wml
Windows
Zóna iné

Links
Script index Interval.cz Pc.sk Regedit.sk TipyaTriky.sk Builder.cz Asp.cz Živě.sk Zoznam.sk Code.box.sk Root.cz Quant&Financial

Odkazy

Sessions
Stránky Developer.sk si práve číta 379 čitateľov, z toho je 0 zaregistrovaných

BackEnd
Odkazy na nové články je možné preberať pomocou backend.php

kuk

    Server side includes (SSI) - 9. časť CGI

Určite sa už každý z vás stretol s problémom, keď potrebuje do stránky vložiť určité informácie, ako napr. dátum poslednej modifikácie súboru, CGI premenné, či použiť vo viacerých súboroch ten istý text a podobne.


Máte samozrejme možnosť napísať si pre vloženie požadovaných informácií potrebný skript alebo text, ktorý potrebujete mať vo viacerých súboroch do každého z nich napísať, no je tu ešte jedna možnosť, ako si tieto činnosti uľahčiť - SERVER SIDE INCLUDES (SSI).

SSI sú vlastne direktívy, pomocou ktorých môžete z HTML dokumentu spustiť ľubovoľný program či CGI skript a ich výstup poslať do daného dokumentu, alebo zobraziť určité dáta. Keď klient pristupuje k stránke, ktorá SSI obsahuje, je táto stránka pred zobrazením odovzdaná parseru, ktorý zabezpečí činnosti určené pomocou SSI a až potom je výstup odovzdaný klientovi.

Ako server zistí, že stránka na ktorú sa klient obrátil obsahuje SSI? Server automaticky neanalyzuje všetky súbory, ale len tie, ktoré sú ukončené určitou príponou nastavenou v konfigurácii servra (štandardne to býva .shtml).

SSI má samozrejme aj svoje nevýhody. V prvom rade je to samozrejme záťaž systému vznikajúca analyzovaním súborov pred odoslaním klientovi. Ďalším rizikom je ohrozenie bezpečnosti - pokým užívateľom, ktorých stránky na svojom serveri hosťujete nedôverujete (správnu dávku paranoje by mal mať každý administrátor), môžete sa dostať do veľkých problémov vďaka tomu, že v niektorej zo stránok môže byť direktíva sprístupňujúca citlivé údaje vášho systému.

V nasledujúcej tabuľke sú uvedené SSI direktívy, ktoré máte k dispozícii pre vaše stránky:

echo var Vloží hodnotu premennej prostredia alebo SSI premennej
include Vloží obsah súboru do aktuálneho dokumentu
file Relatívna cesta k súboru vzhľadom k akt. adresáru
virtual Virtuálna cesta k dokumentu na serveri
fsize file Vloží veľkosť zadaného súboru
flastmod file Vloží dátum a čas poslednej modifikácie súboru
exec Spustí program a jeho výstup presmeruje do akt. dokumentu
cmd Spustí ľubovoľnú aplikáciu na lokálnom počítači
cgi Spustí CGI skript
config Nastaví rôzne aspekty SSI
errmsg Zmení defaultnú chybovú správu
sizefmt Určí formát pre veľkosť súboru
timefmt Určí formát pre zobrazenie dátumu a času

Ako tieto direktívy do svojho súboru začleníte? Možno ste sa už niekedy stretli s tagom, ktorý vyzerá ako komentár, ale obsahuje aj znak < !-- Takáto direktíva by do aktuálneho dokumentu vložila obsah súboru adresa.txt, ktroý je umiestnený v tom istom adresári ako náš dokument.

Myslím že vysvetľovať väčšinu z direktív uvedných v tabuľke nie je potrebné, pozastavím sa len pri dvoch: echo a config.

Direktíva echo vloží do dokumentu premennú prostedia (o tých sme si hovorili v prvej časti tohto seriálu) alebo premennú SSI. Príkladom pre vloženie premennej prostredia by mohlo byť napr. vloženie IP adresy, z ktorej je stránka volaná:
< !-- O premenných SSI však zatiaľ reč nebola. Aké sú premenné SSI? Nájdete ich v nasledujúcej tabulke:

DOCUMENT_NAME Názov aktuálneho súboru
DOCUMENT_URI Virtuálna cesta k súboru
QUERY_STRING_UNESCAPED Nekódovaný reťazec dotazu so všetkými metaznakmi shellu
DATE_LOCAL Aktuálny dátum a čas v miestnom časovom pásme
DATE_GMT Aktuálny dátum a čas GMT
LAST_MODIFIED Dátum a čas poslednej modifikácie aktuálneho súboru

Direktíva config vám umožňuje nastaviť si niektoré výstupy SSI.

Môžete si zmeniť napr. štandardné chybové hlásenie, ktoré obdržíte, keď sa pokúsite pomocou SSI vložiť do dokumentu neexistujúci súbor. Toto hlásenie je:
[an error occurred while processing this directive]
Pomocou direktívy config ho môžete zmeniť nasledujúcim spôsobom:
< !--

Rovnako máte možnosť zmeniť zmeniť si formát, v akom je uvádzaná veľkosť súboru. Pomocou reťazca abbrev určíte, že veľkosť súboru sa zaokrúhli na kilobajt hore, pomocou bytes určíte, že veľkosť súboru sa má zobraziť v bajtoch.

Ak si chcete zmeniť formát výpisu dátumu a času, dosiahnete to rvnako pomocou direktívy config. Nasledujúci príklad zobrazí dátum a čas poslednej zmeny aktuálneho súboru podľa našich zvyklostí:
< !-- Posledná zmena dokumentu: < !--
Nasleduje tabulka v ktorej môžete nájsť reťazce pre konfiguráciu formátu dátumu a času:

Formát Hodnota Príklad
%a Deň ktorým začína týždeň Sun
%A Deň v týždni Sunday
%b Mesiac ktorým začína rok Jan
%B Názov mesiaca January
%d Dátum (dd) 03
%D Dátum vo formáte %m/%d/%y 01/01/03
%e Dátum (d) 3
%H 24-hodinový formát času 16
%I 12-hodinový formát času 4
%j Číslo dňa v roku 259
%m Číslo mesiaca (mm) 09
%M Minúty 14
%p AM|PM PM
%r Čas vo formáte %I:%M:%S %p 04:15:22 PM
%S Sekundy 00
%T Čas vo formáte %H:%M:%S 23:12:54
%U Číslo týždňa v roku 16
%w Číslo dňa v týždni 7
%y Číslo roku v storočí 03
%Y Rok 2003
%Z Časové pásmo CEST

Nabudúce sa pozrieme konečne aj na Perl, ukážeme si tvorbu jednoduchého počítadla pre vaše stránky.


Autor : Developer, čítané 4206x, komentárov: 0
Hodnotenie :    |  Streda, 19. Marca 2003

Pridať nový komentár/Komentáre
Vaše hodnotenie :   horšie  lepšie
Login
Login:
Heslo:

Hľadať
 
v článkoch
v diskusiach
v komentároch

Top read
PHP Coder

Priklady v C. 1.čast.

DEV web management system

Php a bezpečnosť skriptov

Autorun CD

Top discuss
Jednoduchý web formulár (ASP.NET)

Delphi seriál: (1.časť)

Velmi rychla grafika v Pascale

DEV web management system

Naša ikona
Páčia sa Vám naše stránky ? Ak áno, podporte nás prosím a umiestnite si na svoju stránku našu ikonku:





Copyright (c) Developer.sk, All rights reserved.
Powered by DEV web management system