Jak má vypadat chyba 404 - nenalezeno Mozektevidi.net - Mozektevidi.net.
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.
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());
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 ;
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.
www.speedygt.ic.cz/
TO MzK: Je dobry, že davaš skripty na sdileni, sikovny SMIL reaguj
13.02.2007 22:14
freez.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
14.02.2007 00:30
mozektevidi.net
TO --==[FReeZ]==--: Dík za tip. Nemyslel jsem na všechno. reaguj
14.02.2007 07:59
mozektevidi.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
14.02.2007 19:43