Katalog ASP odkaz∙: Hledßte informace o ASP? Zkuste nßÜ nov² katalog odkaz∙ na ASP weby. Vφce zde...
TextLink.cz
VyÜlo: 14.11.2000 Rubrika: ASP - Objekty

Co vÜe se dß d∞lat s hlaviΦkou ASP strßnky aneb Request.ServerVariables?
Chcete se dozv∞d∞t jakou IP adresu mß u₧ivatel ? Jak² prohlφ₧eΦ pou₧φvß ? Odkud na VaÜi strßnku p°iÜel ? Jak vytvo°it odkaz ze strßnky na stejnou strßnku ? A dalÜφ velice unikßtnφ informace ? Nenφ nic snadn∞jÜφho ne₧ nahlΘdnout do tohoto Φlßnku...

Ka₧dß strßnka (i tato) obsahuje mimo informacφ, kterΘ jsou b∞₧n∞ p°φstupnΘ jako zdrojov² k≤d strßnky, takΘ jistou hlaviΦku, kterß obsahuje velice zajφmavΘ v∞ci. Lze z nφ zjisti¥ odkud u₧ivatel p°iÜel, jakou mß IP adresu, kter² prohlφ₧eΦ pou₧φvß, co m∞l k ob∞hu a spoustu dalÜφch v∞cφ.

Nφ₧e se podφvßme na kolekci ServerVariables objektu Request, pomocφ kterΘ zjistφme veÜkerΘ po₧adovanΘ informace.

Obecnß syntaxe

string = Request.ServerVariables[.Key | .Item](klφΦ)

Vlastnosti

Item

Vrßtφ hodnotu danΘ hlaviΦky. K zadßnφ polo₧ky se pou₧φvß Φφseln² index nebo jejφ nßzev(klφΦ)

P°φklad:

<%=Request.ServerVariables.Item(nazev_klice)%>

Key

Slou₧φ pro zjiÜt∞nφ nßzvu urΦitΘho prvku v kolekci. Pro urΦenφ polo₧ky se pou₧φvß Φφseln² index.

P°φklad:

<%=Request.ServerVariables.Key(2)%>

P°φklad:

Chcete zjistit nßzev druhΘho klφΦe. Zφskßme jej pomocφ Key vlastnosti a nßsledn∞ p°eΦteme jejφ obsah.

<%
jmeno = Request.ServerVariables.Key(2)
hodnota = Request.ServerVariables.Item(jmeno)

Response.Write(jmeno & " = " & hodnota)
%>

Vφte-li nßzev klφΦe, lze vÜe zjednoduÜit:

<%
hodnota = Request.ServerVariables("NAZEV_KLICE")
Response.Write(hodnota)
%>

Count

Vlastnost Count Vßm vrßtφ celkov² poΦet prvk∙ v kolekci.

P°φklad:

<%
pocet = Request.ServerVariables.Count
Response.Write(pocet)
%>

Nßzvy klφΦ∙

Ka₧dß strßnka mß ve svΘ hlaviΦce jistΘ informace, kterΘ lze zφskat prßv∞ pomocφ p°ikazu Request.ServerVariables a nßsledujφcφch klφΦ∙.

ALL_HTTP

Vrßtφ jeden dlouh² °et∞zec, kter² obsahuje hodnoty vÜech prvk∙ hlaviΦky. Obsahuje tedy prvky, kterΘ si popφÜeme nφ₧e.

P°φklad:

HTTP_ACCEPT:*/* HTTP_ACCEPT_LANGUAGE:cs HTTP_CONNECTION:Keep-Alive HTTP_HOST:www.netday.cz HTTP_USER_AGENT:Mozilla/4.0 (compatible; MSIE 5.5; Windows 95; MSNATLAS01) HTTP_COOKIE:ASPSESSIONINPLN HTTP_ACCEPT_ENCODING:gzip, deflate

ALL_RAW

Vrßtφ jeden dlouh² °∞t∞zec obsahujφcφ veÜkerΘ hlaviΦky strßnky. Rozdφl oproti ALL_HTTP spoΦφvß v tom, ₧e hodnoty v ALL_HTTP p°ed sebou majφ i jejφ nßzev. Tj. n∞co jako HTTP_COOKIE a podobn∞. Na druhΘ stran∞ ALL_RAW tyto informace neobsahuje.

P°φklad:

Accept: */* Accept-Language: cs Connection: Keep-Alive Host: www.netday.cz User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 95; MSNATLAS01) Cookie: ASPSESSIONIDGGQQGHL Accept-Encoding: gzip, deflate

AUTH_PASSWORD

Tento prvek vracφ heslo, kterΘ je mo₧nΘ zadat p°i autorizaci na IIS serveru. Nenφ-li heslo zadßno, °et∞zec z∙stane prßzdn².

AUTH_TYPE

Vracφ metodu autentifikace na webovΘm serveru, kde je umφst∞na danß strßnka.

AUTH_USER

U₧ivatelskΘ jmΘno, pod kter²m je u₧ivatel p°ihlßÜen. Nenφ-li zadßno, °et∞zec z∙stane prßzdn².

CERT_COOKIE

IdentifikaΦnφ Φφslo digitßlnφho certifikßtu klienta. Tato hodnota je napln∞na pouze p°i pou₧itφ protokolu HTTPS.

CONTENT_LEGHT

Vrßtφ dΘlku po₧adavku HTTP.

HTTPS

Obsahuje(vracφ) ON nebo OFF. Zßle₧φ na tom zda-li byl po₧adavek zaslßn pomocφ protokolu HTTPS(honota ON) nebo nikoliv(hodnota OFF).

LOCAL_ADDR

IP adresa serveru na kterΘm b∞₧φ VaÜe strßnky.

P°φklad:

<%=Request.ServerVariables("LOCAL_ADDR")%>

PATH_INFO

Cesta ke strßnce ve virtußlnφm webu.

P°φklad:

/web/examples/http.asp

PATH_TRANSLATED

Vracφ konkrΘtnφ cestu na serveru.

P°φklad:

E:\Inetpub\wwwroot\www.netday.cz\web\examples\http.asp

REMOTE_ADDR

IP adresa nßvÜt∞vnφka VaÜφ strßnky.

REQUEST_METHOD

Metoda (GET, POST, HEAD), kterß byla pou₧ita pro vy₧ßdßnφ danΘ strßnky.

SCRIPT_NAME

TotΘ₧ co PATH_INFO.

SERVER_PORT

Port serveru, na kter² se odesφlß po₧adavek klienta. Defaultnφ hodnota pro webovskΘ slu₧by je 80.

SERVER_NAME

Vrßtφ IP adresu nebo textovou verzi podle DNS. Jednß se o ekvivalent adresy serveru.

P°φklad:

http://www.netday.cz

URL

Obsahuje URL, kterΘ po₧adoval klient. Jednß se o podobnou hodnotu jako SCRIPT_NAME a PATH_INFO.

HTTP_USER_AGENT

Obsahuje identifikaΦnφ °et∞zec, kter² vracφ pou₧it² webovsk² prohlφ₧eΦ.

P°φklad:

Mozilla/4.0 (compatible; MSIE 5.5; Windows 95; NETDAY)

Pomocφ tΘto hlaviΦky lze jednoduÜe identifikovat browser, kter² pou₧φvß nßvÜt∞vnφk VaÜich strßnek. O tom, jak zjistit nßzev prohlφ₧eΦe zde naleznete Φlßnek za pßr dnφ.

Nu₧e, to je vÜe. Samoz°ejm∞, ₧e p°ehled nenφ zdaleka kompletnφ, ale v∞tÜina dalÜφch hlaviΦek obsahuje informace, kterΘ se b∞₧n∞ nevyu₧φvajφ. Jednß se p°edevÜφm o hlaviΦky, kterΘ se naplnφ p°i vyu₧φvßnφ certifikßt∙.

VÜe co jsem v²Üe popsal lze vyu₧φt nap°φklad pro velice elegantnφ °eÜenφ odkazu z jednß strßnky na tu samou. Tento problΘm nastßvß v∞tÜinou p°i zpracovßvßnφ formulß°e. P°i p°ejmenovßnφ strßnky, by bylo nutnΘ zm∞nit i parametr ACTION v HTML tagu FORM. Pokud chcete p°edejφt tΘto nezß₧ivnΘ prßci, nenφ nic jednodu₧Üφho ne₧ vyu₧φt nßsleujφcφho p°φkladu:

<FORM ACTION="<%=Request.ServerVariables("SCRIPT_NAME")%>" METHOD="GET">

nebo

<FORM ACTION="<%=Request.ServerVariables("PATH_INFO")%>" METHOD="GET">

Oba dva p°φkazy vrßtφ toto₧nou informaci.

VeÜkerΘ informace, kterΘ jste v²Üe naΦerpali jsem p°evedl do nßsledujφcφho p°φkladu. Zde je ukßzka a zde je zdrojov² k≤d danΘ strßnky.

P°φÜt∞ se podφvßme na to, jak zjistit, kter² prohlφ₧eΦ nßvÜt∞vnφk VaÜich strßnek pou₧φvß a nauΦφme se tito informace nßle₧it∞ vyu₧φt.

Zden∞k Cendra
ceskywap@ceskywap.cz



   Souvisejφcφ Φlßnky
TextLink.cz