Jak má vypadat chyba 404 - nenalezeno Mozektevidi.net - Mozektevidi.net.

Jak má vypadat chyba 404 - nenalezeno

Základní chyby při tvorbě čtyřista čtyřky. Chyba 404 (not found) a jejích chyby či nedostatky. PHP skript na zaznamenání logů. Nenalezeno!

Chyba 404 - nenalezeno

Přemýšlel jsem, jak by měla vypadat správná chyba. No, měla by se objevovat co nejméně, tak proč by na ní mělo záležet? Záleží na maličkostech.

  • Oznámení chyby: Není nic horšího, než v případě špatně zadané adresy se celá adresa smaže z důvodu přesměrování na hlavní stránku. I já to měl takto dříve stvořeno.
  • Jaká chyba nastala? Nejčastější chyba je chyba 404 - nenalezeno. Nestačí napsat not found. Nejlépe česky, anglicky a číselné označení do titulku
  • Proč se tak stalo?: Chudák návštěvník je vyděšen. Co když zničel server? Napsal bych něco jako stránka byla smazána, přesunuta nebo prostě neexistuje.
  • Co dál dělat? Pokračujte na hlavní stránku, zkuste článek vyhledat zadáním klíčových slov nebo zkuste mapu webu. Vše s odkazy. Nejlepší by bylo rovnou vyhledat nejpravděpodobnější články. Ale odlišit od normálního výpisu a dát najevo chybu 404.
  • Kontaktujte administrátora CHYBA. Proč by měl někdo sdělovat chyby? Předložíte chybnou stránku a ještě chcete informovat? Na to se každý vykašle. Lepší je použít tento pěti minutový skript, který vše zaznamená do databáze.

Pětiminutkový skript na zaznamenání chyb 404

Vložit do souboru, který se zobrazuje v případě chyby 404. Nutné ještě přiložit html výstup na oznámení chyby, jak má vypadat je popsáno výše

require "databaze.php"; // databáze

$kdy_prisel = time(); // čas v unixovém formátu
$prohlizec = $_SERVER['HTTP_USER_AGENT']; // jde o robota?
$ip_navstevnika = $_SERVER['REMOTE_ADDR']; // ip adresa
$odkud_prisel = $_SERVER['HTTP_REFERER']; // odkud chodí, kde je chyba?
$co_pozadoval = $_SERVER['REQUEST_URI']; // co chce zobrazit?

$vlozeni_dat = MySQL_Query(
"INSERT INTO 404 VALUES ('', '$co_pozadoval', '$odkud_prisel', '$ip_navstevnika',
'$kdy_prisel', '$prohlizec')"
)
or die (
mysql_error());

tabulka v databázi

Vytvoří se pomocí SQL dotazu v phpmyadminovi

CREATE TABLE `404` (
`id` int(3) NOT NULL auto_increment,
`co_pozadoval` varchar(100) character set utf8 collate utf8_czech_ci NOT NULL,
`odkud_prisel` varchar(100) character set utf8 collate utf8_czech_ci NOT NULL,
`ip` varchar(100) character set utf8 collate utf8_czech_ci NOT NULL,
`datum` varchar(100) character set utf8 collate utf8_czech_ci NOT NULL,
`prohlizec` varchar(100) character set utf8 collate utf8_czech_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=2 ;

hm, zajímavé

A pak stačí jenom kontrolovat logy a zkoumat, jestli není nějaká chyba na webu a tu opravit, např já tím zjištuji kde jsem zadal img src="neco" a zapomenul nahrál neco na ftp.


autor článku OS | datum publikování 13.únor.2007 21:34 | Názory na cokoliv Názory |

Kometáře

#1 SpeedyGT wwwwww.speedygt.ic.cz/

TO MzK: Je dobry, že davaš skripty na sdileni, sikovny SMIL reaguj

datum 13.02.2007 22:14

unknown unknown

#2 --==[FReeZ]==-- wwwfreez.php5.cz

Pokud nejaky skodoliby scriptkiddie zjisti, ze timto zpusobem zaznamenavas do databaze, nebude zase takovy problem jedinym prasivym scriptem tuto DB zafloodovat (treba pres noc) a trosku tusim, ze pokud do ni jiz nic nepujde ulozit, nepobezi tyto stranky korektne. Navrhoval bych ve scriptu kontrolovat zda od ulozeni posledni chyby uplynulo alespon XX minut. reaguj

datum 14.02.2007 00:30

unknown unknown

#3 [zener] www

Kazda 404 by mela obsahovat mapu stranek!!! :-P reaguj

datum 14.02.2007 01:00

unknown unknown

#4 MzK wwwmozektevidi.net

TO --==[FReeZ]==--: Dík za tip. Nemyslel jsem na všechno. reaguj

datum 14.02.2007 07:59

unknown unknown

#5 MzK wwwmozektevidi.net

TO --==[FReeZ]==--: Dopsal jsem do kódu 4 řádky pro kontrolu. Porovná to čas posledního záznamu a pokud je menší než limit tak data nevloží. Je tu ale problém. Když přijdou dva různí návštěvníci ve stejnou dobu na různé chyby, zapíše se pouze jedna. Tak jsem skrip ještě vylepšil o kontrolu stejné IP adresy. Ještě jednou dík za tip. reaguj

datum 14.02.2007 19:43

unknown unknown

#6 Pilda wwwpilda.kaspy.cz/

Super script, díky za tip :) reaguj

datum 27.02.2007 02:27

unknown unknown

Nové kometáře nejsou povolené.