<?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

?>