parent
aecdc0fa4c
commit
52c627bc3f
|
@ -20,6 +20,8 @@ define('DEBUG', false);
|
|||
// Domain email (separe with ; exemple : exemple.com;zici.fr;exemple.fr)
|
||||
define('DOMAIN', 'exemple.fr');
|
||||
//define('DOMAIN', 'exemple.com;zici.fr;exemple.fr');
|
||||
// Nombre d'alias poubelle limite par email
|
||||
define('ALIASLIMITBYMAIL', 30);
|
||||
|
||||
// PDO stucture
|
||||
// Exemple pour MYSQL :
|
||||
|
|
|
@ -157,8 +157,10 @@ if (isset($_POST['username']) && $_POST['username'] != '') { // minimal anti-spa
|
|||
echo '<div class="highlight-1">Erreur : Adresse email incorrect (2)</div>';
|
||||
} else if (! preg_match('#^[\w.-]+$#',$alias)) {
|
||||
echo '<div class="highlight-1">Erreur : Format de l\'email poubelle incorrect</div>';
|
||||
} else if (! preg_match('#'.$domain.'#',DOMAIN)) {
|
||||
} else if (!domainePresent($domain)) {
|
||||
echo '<div class="highlight-1">Erreur : ce domain n\'est pas pris en charge</div>';
|
||||
} else if (emailIsAlias($email)) {
|
||||
echo '<div class="highlight-1">Erreur : votre email ne peut pas contenir un domaine "poubelle"</div>';
|
||||
} else if (AliasDeny($alias)) {
|
||||
echo '<div class="highlight-1">Erreur : email poubelle interdit</div>';
|
||||
} else if (BlacklistEmail($email)) {
|
||||
|
@ -167,6 +169,8 @@ if (isset($_POST['username']) && $_POST['username'] != '') { // minimal anti-spa
|
|||
} elseif (isset($_POST['add'])) {
|
||||
if ($dbco->query("SELECT COUNT(*) FROM ".DBTABLEPREFIX."alias WHERE alias = '".$alias_full."'")->fetchColumn() != 0) {
|
||||
echo '<div class="highlight-1">Erreur : cet email poubelle est déjà utilisé</div>';
|
||||
} else if ($dbco->query("SELECT COUNT(*) FROM ".DBTABLEPREFIX."alias WHERE email = '".$email."'")->fetchColumn() > ALIASLIMITBYMAIL) {
|
||||
echo '<div class="highlight-1">Erreur : Vous avez atteind votre quota limite de '.ALIASLIMITBYMAIL.' alias sur cette application. Vous pouvez <a href="http://forge.zici.fr/p/emailpoubelle-php/">installer ce script</a> sur un serveur personnel si vous voulez plus de quota.</div>';
|
||||
} else {
|
||||
if ($dbco->query("SELECT COUNT(*) FROM ".DBTABLEPREFIX."alias WHERE email = '".$email."' AND status > 0")->fetchColumn() != 0) {
|
||||
AjouterAlias(5, $alias_full, $email, $life, $comment);
|
||||
|
|
|
@ -326,4 +326,39 @@ function LifeExpire() {
|
|||
die();
|
||||
}
|
||||
}
|
||||
|
||||
// Vérifie que le domaine de l'alias est bien dans la configuration
|
||||
function domainePresent($postDom) {
|
||||
$domains = explode(';', DOMAIN);
|
||||
$return=true;
|
||||
if (count($domains) == 1) {
|
||||
if (!preg_match('#'.$postDom.'#',DOMAIN)) {
|
||||
$return=false;
|
||||
}
|
||||
} else {
|
||||
foreach ($domains as $one_domain) {
|
||||
if (!preg_match('#'.$postDom.'#',$one_domain)) {
|
||||
$return=false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $return;
|
||||
}
|
||||
// Vérifie que l'email n'est pas un alias avec un domain "poubelle" (éviter boucle forward)
|
||||
function emailIsAlias($postemail) {
|
||||
$domains = explode(';', DOMAIN);
|
||||
$return=false;
|
||||
if (count($domains) == 1) {
|
||||
if (preg_match('#'.DOMAIN.'$#',$postemail)) {
|
||||
$return=true;
|
||||
}
|
||||
} else {
|
||||
foreach ($domains as $one_domain) {
|
||||
if (preg_match('#'.$one_domain.'$#',$postemail)) {
|
||||
$return=true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $return;
|
||||
}
|
||||
?>
|
||||
|
|
Loading…
Reference in a new issue