| |
[ 07. February 2000]
- Svato_Straka
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 |
03/15/98 |
%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Φφ |
98 |
%Y |
Rok |
1998 |
%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.
|
|
| |
|
"Server side includes (SSI) - 9. Φas¥ CGI" | Login / vytvor konto | 0 Komentßrov |
|
Za obsah komentßrov je zodpovedn² u₧φvate╛, nie prevßdzkovate╛ t²chto strßnok. |
|