Zmienne środowiskowe na serwerze w home.pl

Zmienne środowiskowe są bardzo pożytecznym narzędziem. Pozwalają wyświetlić rozmaite dane, które są dostarczane przez przeglądarkę gościa naszej strony WWW, a także o parametrach samego serwera. Z pewnością warto je poznać, gdyż naprawdę często przydają się w codziennej praktyce.

Zmienne środowiskowe dostępne są poprzez tablicę $_SERVER, która jest dostępna w każdym skrypcie.

W opisanych przykładach posługiwaliśmy się zmiennymi globalnymi tj. “REQUEST_URI” czy “HTTP_REFERER”. Zmiennych tych jest znacznie więcej.

Zmienne przeglądarki:

  • HTTP_USER_AGENT (zawiera identyfikator przeglądarki)
  • HTTP_REFERER (adres, z którego nastąpił przeklik)
  • HTTP_COOKIE (zawiera cookie)
  • HTTP_HOST (adres wywołanego hosta)
  • HTTP_ACCEPT (informacje o dokumentach, jakie przyjmuje przeglądarka)
  • HTTP_ACCEPT_LANGUAGE (domyślny język przeglądarki)
  • HTTP_ACCEPT_ENCODING (informacja, czy przeglądarka akceptuje skompresowane dokumenty)
  • HTTP_ACCEPT_CHARSET (lista akceptowanych kodowań znaków w dokumencie)
  • HTTP_CONNECTION (tryb połączenia)

Zmienne wywołania:

  • REMOTE_ADDR (adres IP komputera klienta)
  • REMOTE_HOST (nazwa hosta klienta)
  • REMOTE_USER (nazwa zautoryzowanego użytkownika)
  • REMOTE_PORT (port, po którym nastąpiło wywołanie)
  • AUTH_TYPE (rodzaj autoryzacji – Basic lub Digest)

Zmienne z informacją o uruchomionym skrypcie

  • SCRIPT_URL (logiczny adres, bez adresu hosta)
  • SCRIPT_URI (pełny adres wywołania)
  • SCRIPT_FILENAME (nazwa wywołanego pliku wraz z pełną ścieżką lokalną)
  • SCRIPT_NAME (nazwa wywołanego skryptu)

Zmienne z informacją o zapytaniu:

  • REQUEST_URI (zawiera adres wywołania strony wraz z parametrami)
  • REQUEST_FILENAME (pełna lokalna ścieżka do wywoływanego pliku)
  • REQUEST_METHOD (metoda przesyłania parametrów – GET lub POST)

Zmienne SSL:

  • SSL_PROTOCOL (wersja protokołu szyfrującego)
  • SSL_CIPHER (metoda szyfrowania)
  • SSL_CIPHER_USEKEYSIZE (aktualny rozmiar klucza)
  • SSL_CIPHER_USEMACSIZE (maksymalny rozmiar klucza)
  • SSL_VERSION_LIBRARY (nazwa bilbioteki SSL oraz jej wersja)
  • HTTPS (w przypadku połączenia SSL zawiera wartość “on”)

Zmienne serwera:

  • SERVER_ADMIN (adres email administratora)
  • SERVER_NAME (adres serwera)
  • SERVER_ADDR (adres IP serwera)
  • SERVER_PORT (adres portu użyty przy wywołaniu strony)
  • SERVER_ID (identyfikator serwera)
  • SERVER_PROTOCOL (informacje o protokole – zazwyczaj HTTP/1.1)
  • SERVER_SOFTWARE (nazwa oprogramowania serwera WWW – IdeaWebServer)
  • DOCUMENT_ROOT (ścieżka do głównego katalogu)

Zmienne czasu:

  • TIME_YEAR (aktualny rok)
  • TIME_MON (aktualny miesiąc)
  • TIME_DAY (aktualny dzień)
  • TIME_HOUR (aktualna godzina)
  • TIME_MIN (aktualne minuty w godzinie)
  • TIME_SEC (aktualne sekundy w minucie)
  • TIME_WDAY (nazwa aktualnego dnia tygodnia)
  • TIME (aktualny czas w postaci yyyymmddhhmmss np. 20040101120000)

 

Zmienne mod_rewrite:

  • QUERY_STRING (lista parametrów przesłanych do skryptu)
  • THE_REQUEST (pełne zapytanie HTTP wysłane do serwera np. “GET /index.html HTTP/1.1”)
  • IS_SUBREQ (informacja czy aktualnie przetwarzane zapytanie jest sub-zapytaniem.  Z racji braku obsługi sub-zapytań przez oprogramowanie IdeaWebServer, wartość tej zmiennej jest ustawiona na “no”)

Pozostałe zmienne:

  • PATH_INFO (zawiera dopełnienie ścieżki np. ścieżka /pokaz.php/348 jest dopełnieniem do /348)
  • PATH_TRANSLATED (lokalna, systemowa ścieżka do URLa dopełnienia)
  • REDIRECT_URL (oryginalny adres wywołania przed przekierowaniem)
  • REDIRECT_STATUS (zawiera oryginalny kod odpowiedzi serwera, którego efektem było przekierowanie za pomocą ErrorDoc)

W PHP uruchomionym na środowisku  Apache niedostępne są:

  • SCRIPT_URL
  • SCRIPT_URI
  • REQUEST_FILENAME
  • SSL_*
  • TIME_*
  • THE_REQUEST
  • IS_SUBREQ

Zmienne % {TIME_*} sa dostepne normalnie w .htaccess, np.:

RewriteEngine On
RewriteCond %{TIME_HOUR} >20
RewriteCond %{TIME_HOUR} <8
RewriteRule .* /nieczynne.html [R]

Jakie artykuły na temat mod_rewrite znajdę w dokumentacji home.pl?

Inne przykłady pomocy – np. więcej informacji na temat wyrażeń regularnych

Część przykładów z tego oraz innych kursów pochodzi z artykułu Rossa Shannona URL Rewriting.

Obowiązkową lekturą jest też oryginalna dokumentacja dla narzędzia mod-rewrite. Dostępna jest ona pod adresem http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html. Przydatna jest też podręczna ściąga z mod_rewrite, przygotowana przez Davida Childa. W celu przetestowania działania wyrażeń regularnych warto skorzystać z poniższych stron:

  • Czy artykuł był pomocny?
  • TAK   Nie
Tematy powiązane
Więcej informacji na forum dyskusyjnym:   Kliknij tutaj, aby przejść na forum.home.pl