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í, Zvláštní význam, Zvláštní druh, Následující úsek, ASP, Neúspěšný počítač, Rider, Jasná odpověď


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

Testy procesorů Ryzen 5000: AMD překonalo Intel ve všech směrech

Testy procesorů Ryzen 5000: AMD překonalo Intel ve všech směrech

** AMD začalo prodávat nové procesory Ryzen 5000 s architekturou Zen 3 ** K dispozici jsou nezávislé testy z celého světa ** AMD překonává Intel ve všech směrech

Karel Javůrek | 69

Karel Javůrek
ProcesoryTestyAMD
Nejlepší notebooky do 20 000 Kč. Tipy, co se dnes vyplatí koupit

Nejlepší notebooky do 20 000 Kč. Tipy, co se dnes vyplatí koupit

** S cenou do 20 tisíc lze vybrat solidní notebook na práci i hry ** Přenosné notebooky nabídnou i kovová těla a rychlý hardware ** Možná největší problém je nedostupnost, nejžádanější kusy jsou vyprodané

David Polesný | 34

David Polesný
VánoceNotebooky
Archivovat data do cloudu, na HDD, SSD, DVD, nebo Blu-ray? Co je nejvýhodnější?

Archivovat data do cloudu, na HDD, SSD, DVD, nebo Blu-ray? Co je nejvýhodnější?

** Kam doma natrvalo uložit data? Vyplatí se ještě optická média? ** Jaké kapacity disků a médií má smysl koupit? ** Cenovou výhodnost si ukážeme na příkladech s 2TB úložištěm

Lukáš Václavík | 118

Lukáš Václavík
ZálohováníÚložištěPevné disky
Uživatelé hlásí problémy s jednou z listopadových záplat pro Windows 10
Karel Kilián
Windows UpdateAktualizaceWindows 10
Vodafonu se zhroutila kabelovka. Síť bývalého UPC má výpadky
Lukáš Václavík
VodafoneUPC
Nejlepší notebooky do 10 000 korun: Co má ještě smysl kupovat. A co ne?

Nejlepší notebooky do 10 000 korun: Co má ještě smysl kupovat. A co ne?

** Notebooky s cenou do deseti tisíc korun jsou plné kompromisů ** Existuje několik modelů dobře použitelných pro nenáročné použití ** Vhodnou alternativou jsou tablety nebo repasované počítače

David Polesný | 94

David Polesný
Jak vybrat notebookNotebooky

Aktuální číslo časopisu Computer

Jak prodloužit výdrž notebooku

Velké testy: gamepady a inkoustové tiskárny

Důkladný test Sony Playstation 5