Hlavní navigace

MujWEB vrací nekorektní hlavičku HTTP

Karel Chvalovský

Portál MSN.Atlas.cz se ještě nevzpamatoval z mediální přestřelky se Seznamem a už je na obzoru další aférka. Známý freewebový server MujWEB špatně vyplňuje hlavičku webových stránek, čímž si uměle přidává počet zobrazení stránek v auditech, mate roboty indexující stránky a v neposlední řadě porušuje standardy.

O co jde? Protokol zajišťující putování webové stránky a všeho, co s ní souvisí, z vašeho oblíbeného serveru do prohlížeče se nazývá HTTP (Hypertext Transfer Protocol). Ten se vyskytuje v několika verzích, které vycházejí ze základní verze HTTP 0.9. Od verze HTTP 1.0 je povinnou součástí hlavička, která obsahuje také tzv. stavový kód a stavové hlášení. Vzneseme-li například dotaz na server www.lupa.cz pomocí programu telnet na port 80 a pošleme následující informace:

GET / HTTP/1.1
Host: www.lupa.cz
prázdný řádek

dostaneme odpověď:

HTTP/1.1 200 OK
Date: Mon, 04 Sep 2000 14:56:02 GMT
Server: Apache/1.3.12
X-Powered-By: PHP/3.0.15
Vary: User-Agent, Accept-Charset
Transfer-Encoding: chunked
Content-Type: text/html

a dále celý HTML kód stránky.

Nás bude zajímat pouze první řádek hlavičky, který udává za slovem HTTP/1.1 již zmiňovaný stavový kód a stavové hlášení. Tyto dvě hodnoty jsou spolu pevně spojeny. V našem případě jde o ono 200 OK, které značí úspěšně zpracovaný požadavek. Těchto kódů existuje celá řada, nejčastěji však na stránkách potkáváme 404 Not Found, což značí dotaz na neexistující dokument. Většina serverů na špatný požadavek vrací stránku s kontaktem na správce a informaci o tom, že daná stránka neexistuje. Ačkoli obsah takových stránek je téměř vždy rozdílný, hlavička hovoří zcela jasně a obsahuje 404 Not Found. Není tomu však u již zmiňovaného MujWEBu, který na požadavek na neexistující adresu sice vrací chybovou stránku, hlavička však obsahuje špatný stavový kód 200 OK.

HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Mon, 04 Sep 2000 15:13:50 GMT
Content-Length: 11809
Content-Type: text/html
Cache-control: private

Pro člověka nemá tato chyba žádné významné důsledky. Jiná je situace u robotů, které např. indexují stránky a které se řídí právě pomocí hlavičky. V případě MujWEBu je situace o to horší, že obsahuje obrovské množství stránek, které neustále vznikají a zanikají. Robot řídící se podle stavového kódu však dospěje k názoru, že stránky pouze vznikají a každá zaniklá stránka je pro něj stále funkční. Celá věc má ještě jeden aspekt, který by mohl být na první pohled skryt. Vzhledem k tomu, že každá požadovaná stránka je označena za existující, je taková stránka také započítána do auditu. Vzhledem ke snahám Atlasu získat přístupy „kde se dá“ jde o skutečnost minimálně zajímavou. Kolik však takových špatně vykázaných stránek může být, zůstává otázkou.

MIF17

Důvodem špatné funkčnosti je „nový“ IIS verze 5.0. V době, kdy byl server provozován na IIS 4.0, fungovalo vše v pořádku. Podle údajů jedné z konkurenčních firem trvá tato situace cca rok. Výmluva zástupce Atlasu p.Bláhy, že jde o chybu na straně produktu firmy Microsoft, je poněkud podivná. Microsoft používá pochopitelně IIS 5.0 na svých serverech a s chybovým kódem 404 se tyto servery vypořádávají zcela korektně. Chyba je pravděpodobně v konkrétní implementaci, jak je použita na serveru MujWEB. Zarážející je i fakt, že zástupci Atlasu o této chybě ani nevěděli a pro další informace jsem byl odkázán přímo na firmu Microsoft.

Celá věc je o to pikantnější, že chyba je právě na serveru, který se poskytováním prostoru pro web zabývá. V tomto případě to však nemá co dělat s tím, že daný server nabízí služby zdarma. Problémem podobných „nedostatků“ je to, že jsou velice důmyslně ukryty a jejich nalezení bývá spíše otázkou náhody. Jinou věcí je, jak se s celým problémem MujWEB vypořádá. Pokud jde opravdu o chybu přímo v IIS 5.0, nemusí být zrovna jednoduché ji nalézt a odladit.

Anketa

Kdo udělal chybu?

Našli jste v článku chybu?