POP

true, 'mailiste.com' => true, 'eurnet.fr' => true, 'eurenet.com' => true, 'eurnet.info' => true, 'spam-catch.com' => true, 'antivirus-france.com' => true); // Création de la liste de clients. class client_generique { var $url; // liste des urls valides pour ce client var $codage; // date limite des droits pour le système de codage de mails (jj/mm/aaaa) var $detournement; // date limite des droits pour le système de détournement / identification de spams function client_generique($url, $cod, $det) { $this->url = $url; $this->codage = $cod; $this->detournement = $det; } } //======================================================================= function test_licence() { global $cod; global $det; global $client; // global $PHP_AUTH_USER; global $passe_droit; $PHP_AUTH_USER = $_SERVER['PHP_AUTH_USER']; $PHP_AUTH_PW = $_SERVER['PHP_AUTH_PW']; // Lecture du fichier clients. $fichierclients = '/home/spamcatc/clients.txt'; $liste_clients = array(); if (file_exists($fichierclients)) { $fp = fOpen($fichierclients, 'r'); $liste_clients = split("[\n\r]", fRead($fp, 102400)); fClose($fp); } else { $cod = $det = 0; return; } // Extraction des données et construction de la liste de clients. $nom = ''; array_push($liste_clients, "[]"); // Pour déclencher la création du dernier client. for($i = 0; $i < count($liste_clients); $i++) { $liste_clients[$i] = ereg_replace("\t", " ", $liste_clients[$i]); // tabs -> espaces $liste_clients[$i] = ereg_replace("#.*$", "", $liste_clients[$i]); // commentaires $liste_clients[$i] = trim($liste_clients[$i]); // nettoie le début et la fin. if(ereg("^\\[(.*)]$", $liste_clients[$i], $matches)) { if($nom) $client[$nom] = new client_generique($url, $codage, $detournement); $nom = $matches[1]; $url = array(); $codage = ''; $detournement = ''; } if(eregi("^url:(.+)", $liste_clients[$i], $matches)) array_push($url, $matches[1]); if(eregi("^codage:(.+)", $liste_clients[$i], $matches)) $codage = $matches[1]; if(eregi("^détournement:(.+)", $liste_clients[$i], $matches)) $detournement = $matches[1]; } if($PHP_AUTH_USER) { // Cas particuliers if($passe_droit[$PHP_AUTH_USER]) { $cod = $det = 1; return; } // Transformation des dates en timestamps. if($client[$PHP_AUTH_USER]) { // on passe du format jj/mm/aaaa à mm/jj/aaaa $d = ereg_replace("^([0-9]+)/([0-9]+)/", "\\2/\\1/", $client[$PHP_AUTH_USER]->codage); // Ensuite PHP se démerde $cod = strtotime($d); $d = ereg_replace("^([0-9]+)/([0-9]+)/", "\\2/\\1/", $client[$PHP_AUTH_USER]->detournement); $det = strtotime($d); } else { $cod = $det = 10; } } } $cod = 0; // TimeStamp de limite des droits pour le codage des adresses email. $det = 0; // TimeStamp de limite des droits pour le détournement de spam. $client = array(); foreach($passe_droit as $nom=>$v) $client[$nom] = new client_generique(array($nom), 'illimité', 'illimité'); ?>