- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
#_connect
mysql_connect("XX.XXX.XX.XX","user","pass") or die("chect db connect settings o_o'");
mysql_select_db("database") or die("db not found O_o");
#_
$ip=GetIP();
$date=date("Y-m-d H:i:s");
$browser=GetBrowser();
$referer=$_SERVER['HTTP_REFERER'];
$sql="CREATE TABLE `Stats` (
`ip` VARCHAR( 19 ) NOT NULL ,
`date` DATETIME NOT NULL ,
`browser` VARCHAR( 30 ) NOT NULL ,
`referer` VARCHAR( 128 ) NOT NULL ,
`count` MEDIUMINT NOT NULL ,
PRIMARY KEY ( `ip` )
);";
if (!defined("ADMIN"))
{
$sql="SELECT * FROM `Stats` WHERE `ip` = '$ip'";
$res=mysql_query($sql); $arr=mysql_fetch_array($res);
if (!empty($arr))
{ $sql="UPDATE Stats SET Stats.count = Stats.count +1 WHERE ip = '$ip'";
@mysql_query($sql);
$sql="UPDATE Stats SET Stats.date = '$date' WHERE ip = '$ip'";
@mysql_query($sql);
}
else
{ $sql="
INSERT INTO `Stats`
( `ip` , `date` , `browser` , `referer` , `count`, `first_date` ) VALUES
('$ip', '$date', '$browser', '$referer', 1, '$date');
";
@mysql_query($sql);
};
};
Function GetBrowser()
{ $useragent = $_SERVER['HTTP_USER_AGENT'];
$brows = 'none';
if(strpos($useragent, "Mozilla") !== false) $brows = 'Mozilla Firefox';
if(strpos($useragent, "MSIE") !== false) $brows = 'Microsoft Internet Explorer';
if(strpos($useragent, "MyIE") !== false) $brows = 'MyIE';
if(strpos($useragent, "Opera") !== false) $brows = 'Opera';
if(strpos($useragent, "Netscape")!== false) $brows = 'Netscape';
if(strpos($useragent, "Firefox") !== false) $brows = 'Mozilla Firefox';
return $brows;
};
Function GetIP()
{
$ip = $_SERVER['REMOTE_ADDR']; if(empty($ip)) $ip=$_SERVER['X_FORWARD_FOR'];
if(empty($ip)) $ip = '0.0.0.0';
return $ip;
};
Этот код инклюдится первой строкой в index.php.
Особенно феерично выглядит
--
$sql="SELECT * FROM `Stats` WHERE `ip` = '$ip'";
$res=mysql_query($sql); $arr=mysql_fetch_array($res);
--
На момент аудита исходников в таблице Stats было более 300 тысяч записей и index.php отдавался примерно за 1.5 сек