- <?php
- // La db est présenté comme ca :
-
- /* DB_NAME : XXX
- --------------------------
- | id | email |
- | 1 | *@hotmail.com |
- | 2 | truc@x.fr |
- | 3 | lou@lol.com |
- | 4 | *@xxx.com | */
-
- // Je vous montre pas comment on creer une table, car ce n'est pas le but recherché ici :p
- // Ma base de donnée marche comme ca
- $db_host="localhost";
- $db_user="root";
- $db_passwd="";
- $db_name="xxx";
-
- // Vérification et connection à la base de données :
- $link=mysql_connect($db_host,$db_user,$db_passwd);
- if (!$link) { die(mysql_error() ); }
- mysql_select_db($db_name,$link) or die(mysql_error() );
-
- /////////////////:
- // Voici le test proprement dit !
- $errlog = '';
- function test($email) {
- global $errlog;
-
- // On coupe les 2 parties de l'email : avant le @, et apres celui ci et on récupere l'host ainsi que le suffixe en meme temps (meme si ca nous sert pas dans cette exemple (du moins pour cette source)). ex: user@host.com
- list ($mail['begin'], $mail['end'] ) = explode ('@', $email);
- list ($mail['host'], $mail['suffixe']) = explode ('.', $mail['end']);
-
- // On récupère la liste des bannis.
- $sql = "SELECT email FROM xxx";
- $query = mysql_query($sql) or die(mysql_error() );
-
- // On parcours la liste...
- while ($data = mysql_fetch_array($query) ) {
-
- // On décompile les adresses e-mail en user@host.suffixe
- list ($maileuh['begin'], $maileuh['end'] ) = explode ('@', $data['email']);
- list ($maileuh['host'], $maileuh['suffixe'] ) = explode ('.', $maileuh['end']);
-
- // On vérifie que c'est bien une etoile qui se trouve dans l'user, et que l'host de la base de donnée correspond à l'host de l'e-mail donné par l'internaute.
- if ( $maileuh['begin'] == '*' && ( stristr($mail['host'],$maileuh['host']) ) ) {
- $errlog .= 'Le nom de domaine <b>'.$mail['end'].'</b> est banni de notre site web.';
- echo $errlog;
- return false; }
-
- }
-
- // Si tout va bien, alors on va pouvoir continuer :)
- return true;
- }
-
- // Ceci sera l'e-mail du membre lors d'une inscription par exemple, récupéré d'un formulaire.
- $email = "loul@hotmailx.com";
-
- if ( test($email) ) {
- // On continu la suite de l'inscription.
- } else {
- // On l'arrete la.
- }
-
- ?>
<?php
// La db est présenté comme ca :
/* DB_NAME : XXX
--------------------------
| id | email |
| 1 | *@hotmail.com |
| 2 | truc@x.fr |
| 3 | lou@lol.com |
| 4 | *@xxx.com | */
// Je vous montre pas comment on creer une table, car ce n'est pas le but recherché ici :p
// Ma base de donnée marche comme ca
$db_host="localhost";
$db_user="root";
$db_passwd="";
$db_name="xxx";
// Vérification et connection à la base de données :
$link=mysql_connect($db_host,$db_user,$db_passwd);
if (!$link) { die(mysql_error() ); }
mysql_select_db($db_name,$link) or die(mysql_error() );
/////////////////:
// Voici le test proprement dit !
$errlog = '';
function test($email) {
global $errlog;
// On coupe les 2 parties de l'email : avant le @, et apres celui ci et on récupere l'host ainsi que le suffixe en meme temps (meme si ca nous sert pas dans cette exemple (du moins pour cette source)). ex: user@host.com
list ($mail['begin'], $mail['end'] ) = explode ('@', $email);
list ($mail['host'], $mail['suffixe']) = explode ('.', $mail['end']);
// On récupère la liste des bannis.
$sql = "SELECT email FROM xxx";
$query = mysql_query($sql) or die(mysql_error() );
// On parcours la liste...
while ($data = mysql_fetch_array($query) ) {
// On décompile les adresses e-mail en user@host.suffixe
list ($maileuh['begin'], $maileuh['end'] ) = explode ('@', $data['email']);
list ($maileuh['host'], $maileuh['suffixe'] ) = explode ('.', $maileuh['end']);
// On vérifie que c'est bien une etoile qui se trouve dans l'user, et que l'host de la base de donnée correspond à l'host de l'e-mail donné par l'internaute.
if ( $maileuh['begin'] == '*' && ( stristr($mail['host'],$maileuh['host']) ) ) {
$errlog .= 'Le nom de domaine <b>'.$mail['end'].'</b> est banni de notre site web.';
echo $errlog;
return false; }
}
// Si tout va bien, alors on va pouvoir continuer :)
return true;
}
// Ceci sera l'e-mail du membre lors d'une inscription par exemple, récupéré d'un formulaire.
$email = "loul@hotmailx.com";
if ( test($email) ) {
// On continu la suite de l'inscription.
} else {
// On l'arrete la.
}
?>