<?php
// ------------------------------------------------------------------------- //
// Un script d'attribution d'id de session en fonction de l'addres IP du //
// client. Une bonne base pour des statistiques (moyenne de visite par //
// client) ou pour sécuriser un site (au bout de tant d'erreur l'ip est //
// bannish par exemple). //
// ------------------------------------------------------------------------- //
// Auteur: Jive da Ikat //
// Email: j1v3@iotfoundation.org //
// Web: http://www.iotfoundation.org //
// ------------------------------------------------------------------------- //
/********************************************************/
// get_id.php - jivedaikat - [j1v3@iotfoundation.org] //
// //
// Recupere l'ip du client et attribue un id de session //
// + incremente le nombre de visite de l'ip... //
// Une bonne base statistique ou sécurité réseau... //
// //
// Table Sql: //
// CREATE TABLE session ( //
// Numero VARCHAR(50) NOT NULL, //
// NbreDate INT(4) NOT NULL //
// Adress VARCHAR(128) NOT NULL PRIMARY KEY, //
// Count INT(6) NOT NULL //
// ); //
/********************************************************/
$db = "your_db";
$ip = (getenv("HTTP_X_FORWARDED_FOR")
? getenv("HTTP_X_FORWARDED_FOR")
: getenv("REMOTE_ADDR"));
function get_id($id)
{
global $db,$ip,$PHP_SELF;
$result=mysql("$db","SELECT * FROM session WHERE Adress='$ip'");
$qte=mysql_num_rows($result);
switch($qte)
{
case "0":
$id=md5(uniqid(rand()));
$NbreDate=date("z");
mysql("$db","INSERT INTO session VALUES ('$id','$NbreDate','$ip','1')");
break;
case "1":
if ($id!="")
{
$ikt=mysql_fetch_row($result);
$s=$ikt[0];
$d=$ikt[1];
$a=$ikt[2];
$c=$ikt[3];
mysql("$db","REPLACE INTO session VALUES ('$s','$d','$a','$c')");
mysql_close;
}
if ($id=="")
{
$ikt=mysql_fetch_row($result);
$s=$ikt[0];
$d=$ikt[1];
$a=$ikt[2];
$c=$ikt[3];
$id=md5(uniqid(rand()));
$NbreDate=date("z");
$count=$c+1;
mysql("$db","REPLACE INTO session VALUES ('$id','$NbreDate','$a','$count')");
mysql_close;
}
break;
default:
echo "erreur...";
break;
}
return $id;
}//session
?>