ASP tip: K čemu jsou dobré serverové proměnné?

Píšete-li ASP skripty, můžete často s výhodou využít tzv serverové proměnné. Jedná se o zvláštní druh proměnných, kde se ukládají informace o klientovi i serveru.
Píšete-li ASP skripty, můžete často s výhodou využít tzv serverové proměnné. Jedná se o zvláštní druh proměnných, kde se ukládají informace o klientovi i serveru. Z ASP jsou tyto proměnné přístupné prostřednictvím kolekce Request.ServerVariables. Chcete-li například vypsat proměnnou LOGON_USER, můžete použít <%=Request.ServerVariables("LOGON_USER")%>.

Všechny proměnné můžete vypsat pomocí následujícího kódu:

<PRE>
  <%
  For Each Promenna In Request.ServerVariables
   Response.Write Promenna & " = "
   Response.Write Server.HtmlEncode(Request.ServerVariables(Promenna))
   Response.Write vbCrLf
  Next
  %>
  </PRE>
  

Význam řady proměnných je jasný z jejich názvu nebo obsahu, nicméně u některých se můžeme pozastavit blíže:

SCRIPT_NAME
Vrací relativní cestu k právě prováděnému skriptu, bez parametrů, od rootu serveru. Je-li URL například http://www.kdesi.cz/cosi.asp?query=string, hodnota proměnné bude /cosi.asp.

PATH_TRANSLATED
Vrací fyzickou cestu k právě prováděnému skriptu, typicky například C:\InetPub\WWWroot\default.asp. K převodu relativní na absolutní cestu je lepší používat Server.MapPath.

LOCAL_ADDR
Vrací IP adresu serveru, přesněji řečeno IP adresu, kterou požadoval klient.

SERVER_NAME
Vrací název serveru tak, jak jej požadoval klient. Pokud tedy klient šel na URL http://www.kdesi.cz/, bude obsahem této proměnné www.kdesi.cz.

SERVER_PORT
Vrací číslo portu, na kterém běží aktuální WWW server (standardně 80).

SERVER_PROTOCOL
Vrací typ protokolu, jakým byla stránka načtena, typicky HTTP/1.1.

HTTP_USER_AGENT
Jedna z nejzajímavějších serverových proměnných. Vrací typ prohlížeče, jeho verzi a operační systém, tedy například pro můj MSIE 5.0 beta 2 na Windows NT 4.0 vrátí Mozilla/4.0 (compatible; MSIE 5.0b2; Windows NT).

SERVER_SOFTWARE
Vrací název a verzi WWW serveru, tedy například Microsoft-IIS/4.0.

REQUEST_METHOD
Vrací metodu, jakou byl požadován aktuální skript, nejčastěji GET, při předávání hodnot některých formulářů PUT.

REMOTE_ADDR
Vrací IP adresu klientova počítače.

QUERY_STRING
Vrací část URL za otazníkem, tedy pro http://www.kdesi.cz/cosi.asp?prom1=val1&prom2=val2 vrátí prom1=val1&prom2=val2. Vhodná pro speciální případy (volání skriptu jako něco.asp?parametr), jinak je lepší používat kolekci Request.QueryString.

LOGON_USER
Pokud klient používá jinou identifikaci, než anonymní uživatel (u IIS standardně IUSR_jménostroje), je v této proměnné uloženo jméno tohoto uživatele, jinak je proměnná prázdná. Pokud si chcete vynutit přihlášení uživatele, můžete použít následující úsek kódu:

<%If Request.ServerVariables("LOGON_USER") = "" Then Response.Status = "401 Unauthorized"%>.
  
Pokud přistupujete k vlastnímu počítači, zareaguje MSIE při obdržení odpovědi 401 Unauthorized zasláním identifikace uživatele, pod kterým jste přihlášeni a teprve při druhém neúspěšném pokusu zobrazí okno pro přihlášení.

Jméno uživatele je vraceno ve formátu typickém pro Windows NT, tedy DOMÉNA\Uživatel. Jste-li přihlášen do domény CPINET jako uživatel Valasek, bude obsahem proměnné CPINET\Valasek. Pokud nejste přihlášen do domény, ale jenom ke svému počítači, bude místo domény uveden název vašeho stroje. Uživatel Altair na počítači RIDER tedy obdrží hodnotu RIDER\Altair.
  

Váš názor Další článek: VRML konsorcium mění jméno – doufejme, že nejen to

Témata článku: Software, Windows, Programování, Jasná odpověď, Rider, Zvláštní význam, Zvláštní druh, Neúspěšný počítač


Určitě si přečtěte

Apple: naše mapy budou nejlepší na světě. Tajně jsme na nich pracovali několik let

Apple: naše mapy budou nejlepší na světě. Tajně jsme na nich pracovali několik let

** Apple odhalil své plány na zcela nové mapy ** Několik let pracuje na nových mapách, které by měly předběhnout konkurenci ** Objeví se s příchodem iOS 12 pro vybrané státy

Karel Javůrek | 50

Portál občana už funguje. Na státní web vypadá až překvapivě použitelně

Portál občana už funguje. Na státní web vypadá až překvapivě použitelně

** Portál občana už funguje, vyřídíte na něm první požadavky ** Funkce se budou postupně rozšiřovat ** Web je docela moderní a přehledný

David Polesný | 65

15 věcí, které umí Windows 10, ale možná o nich vůbec nevíte

15 věcí, které umí Windows 10, ale možná o nich vůbec nevíte

** Systém Windows 10 umí spoustu užitečných drobností ** O mnoha praktických funkcích pravděpodobně ani nevíte ** Poznejte užitečné tipy, které se vám mohou hodit každý den

Vladislav Kluska | 36

Byli tam! Důkazy o přistání na Měsíci, Lunochody i čínská sonda jsou vidět z vesmíru

Byli tam! Důkazy o přistání na Měsíci, Lunochody i čínská sonda jsou vidět z vesmíru

** Sonda LRO pořídila z oběžné dráhy Měsíce zajímavé snímky ** Jsou na nich vidět artefakty všech misí programu Apolla, které přistály na povrchu Měsíce ** Jde například o části lunárních modulů, rovery a dokonce i vlajky

Petr Kubala | 60

Nechcete platit za Total Commander? Těmito bezplatnými programy ho můžete nahradit

Nechcete platit za Total Commander? Těmito bezplatnými programy ho můžete nahradit

** Total Commander je na Windows takřka legendou ** Licence však stojí více než tisíc korun ** Našli jsme pro vás deset alternativ dostupných zdarma

Karel Kilián | 141


Aktuální číslo časopisu Computer

Velký test 18 bezdrátových sluchátek

Vše o přechodu na DVB-T2

Procesory AMD opět porážejí Intel

7 NVMe M.2 SSD v přímém souboji