Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Zmienne predefiniowane
Forum PHP.pl > Forum > Przedszkole
Jarod
W swojej aplikacji zastosowałem niceurl, przez co w niektórych miejscach wybranych skryptów muszę podawać pełny adres url, np. http://adres_serwera/nazwa_aplikacji/index (np. w znaczniku base aby były ładowane pliki z cssem, itp).

Dostęp do aplikacji będzie można uzyskać po sieci wewnętrznej (np. adres 192.168.1.200) oraz spoza firmy np poprzez adres 83.xx.xx.201. Serwer jest tak skonfigurowany, że wszystko co przychodzi z zewnątrz na adres 83.xx.xx.201 jest przekierowywane na adres 192.168.1.200. Mój problem to:

1. wartość zmiennej $_SERVER['SERVER_ADDR'] = 192.168.1.200 -> nie mogę tego użyć w aplikacji bo odetnę dostęp dla użytkowników z zewnątrz (przy korzystaniu z aplikacji przeglądarka będzie próbowała łączyć się z adresem wewnętrznym..)

2. wartość zmiennej $_SERVER['SERVER_NAME] = 83.xx.xx.201 niby ok, ale jeśli szef zmieni zdanie i serwer zostanie przekonfigurowany tak jak do tej pory (czyli dwie sieciówki: sieć wewnętrzna i dsl) to ta zmienna nie zadziała

3. wartość zmiennej $_SERVER['HTTP_HOST'] wskazuje w obu przypadkach prawidłowy adres czyli 83.xx.xx.201.

W związku z tym mam pytanie czy zmienna $_SERVER['HTTP_HOST'] zawsze wskazuje prawdziwy adres serwera (jest bezpieczna do tego typu zastosowań)? Chciałbym się upewnić. Jak coś piszę to chciałbym aby to było uniwersalne i żeby nie trzeba było zmieniać kodu źródłowego w zależności od wybranego hostingu..

Po głębszych przemyśleniach winksmiley.jpg doszedłem do wniosku, że najlepszym rozwiązaniem będzie $_SERVER['HTTP_HOST']. Jak będą jakieś problemy to mogę trzymać adres serwera w pliku konfiguracyjnym.
uli
A czy nie prościej użyć jako nazwy serwera localhostquestionmark.gif Lub loopback'a: 127.0.0.1?

W ten sposób skrypt 'pójdzie' na każdej maszynie.
Jarod
Nie bo nie działa. Próbowałem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.