$_SERVER['HTTP_HOST']
Egy furcsa dologra lettem figyelmes és mivel elég sokat szívtam vele megosztom.
Egy IE5 felhasználó hívta fel a figyelmem, hogy néha elszáll az egyik oldal. Nincs tartalom, a képek nem jönnek be és különben is... Én rögtön az IE-re fogtam, talán nem is ok nélkül. :) De most nem a css támogatással volt a hiba, hanem sokkal szokatlanabb helyen.
Az oldal leegyszerűsített változata:Azaz abban az esetben, ha nem tudom lekérdezni a hostot, akkor nem megfelelőn működik az oldal...
Hogy néz ki egy egyszerű, szabályos oldalkérés, és rá mi a válasz (fölösleges headereket elhagyva)?
(ha a fenti fájl localhoston, a http_host.php néven található)
Egy nem helyes lekérés?
Végül egy furcsa lekérés?
Számomra ez kicsit php bug gyanús, vagy apache bug gyanús... valami gyanús...
■ Egy IE5 felhasználó hívta fel a figyelmem, hogy néha elszáll az egyik oldal. Nincs tartalom, a képek nem jönnek be és különben is... Én rögtön az IE-re fogtam, talán nem is ok nélkül. :) De most nem a css támogatással volt a hiba, hanem sokkal szokatlanabb helyen.
Az oldal leegyszerűsített változata:
<?php
echo isset($_SERVER['HTTP_HOST'])?'jól':'rosszul',' működik...';
?>
Hogy néz ki egy egyszerű, szabályos oldalkérés, és rá mi a válasz (fölösleges headereket elhagyva)?
(ha a fenti fájl localhoston, a http_host.php néven található)
GET /http_host.php HTTP/1.1
Host: localhost
HTTP/1.1 200 OK
jól működik...
Host: localhost
HTTP/1.1 200 OK
jól működik...
Egy nem helyes lekérés?
GET http://localhost/http_host.php HTTP/1.1
HTTP/1.1 400 Bad Request
HTTP/1.1 400 Bad Request
Végül egy furcsa lekérés?
GET http://localhost/http_host.php HTTP/1.0
HTTP/1.1 200 OK
rosszul működik...
HTTP/1.1 200 OK
rosszul működik...
Számomra ez kicsit php bug gyanús, vagy apache bug gyanús... valami gyanús...
szabványok...
hogy miért nincs néha, azt nem tudhatom.
nekemnek, ami jobb volt az a $_SERVER['SERVER_NAME'], de. ez nem oldja meg a dolgot...
talán szerveroldalon is lehet(ne) valami... bár nem hinném.
meg kéne nézni "közelebbről", hogy milyen internet exploiterrel és mikor jön létre az említett hibácska,
ez nem helyes lekérés, hiányzik az említett Host: fejléc. viszont így már helyes volna...
bbalint
pedig a $_SERVER['SERVER_NAME']
GET http://localhost/http_host.php HTTP/1.0 hatására
$_SERVER['HTTP_HOST'] nem jön létre és
$_SERVER['SERVER_NAME'] létre jön.
Bár kis jószándékkal a php-s fiúk adhatnának értéket ekkor is a $_SERVER['HTTP_HOST']-nak, mert explicit ott van.
Amúgy a kérdéses IE:
Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
Azt viszont nem tudom, hogy mit csinál a kedves felhasználó, amikor ilyen kérést küld a böngészője. (leírásából annyit tudok, hogy néha amikor back-et nyom ... el lehet képzelni, hogy mire gondoltam az első levélnél: béna böngészőjével back-et nyom és azért a szerver hibás adatot küld???... és tényleg)
ö
ebből az User-Agent fejlécből meg nagyon sok mindent meg lehetett tunni... inkább egy Súgó > Névjegy menüparancs hatására előjövő ablakban van érdemleges informácijó a pontos veriószámról,