begin process at 2010 09 06 06:18:58
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

E-Mail / Messagerie

 > SYSTÈME ANTI SPAM UTILISATION DE BLACKLIST PERSO ET PARTAGÉES

SYSTÈME ANTI SPAM UTILISATION DE BLACKLIST PERSO ET PARTAGÉES


 Information sur la source

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :E-Mail / Messagerie Niveau :Débutant Date de création :24/05/2004 Vu / téléchargé :5 046 / 110

Auteur : izt00g00d

Ecrire un message privé
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

Pour une liste de compte e-mail imap, je compare les adresses ou les server d'expéditeurs à des blacklist
si concordance -> supression

pour executer mon code il faut que le serveur autorise la fonction imap_open()

l'intéret de mon système est d'utiliser la même blacklist pour plusieurs comptes

je suis un peu newbie... donc mon code n'est pas forcement super performant ... à bons entendeurs..... j'me vexerais pas

je n'utilise pas de base de données car j'me dit que dans une optique de partage des blackliste en fichier c'est plus simple.... mais c'est au dépend des perfs bien sûr.

Source

  • --------------------------- index.php ---------------------------
  • liste domaines spamer: <br>
  • http://www.spamanti.net/rogues.txt <br>
  • http://blogs.labo-dotnet.com/blacklist.txt<br>
  • <?php
  • function scanbal()
  • {
  • $folder = "bal";
  • $dossier = opendir($folder);
  • while ($Fichier = readdir($dossier))
  • {
  • if ($Fichier != "." && $Fichier != "..")
  • {
  • $nomFichier = $folder."/".$Fichier;
  • echo "<a href=\"index.php?bal=".$nomFichier."\">".$Fichier."</a><BR>";
  • }
  • }
  • closedir($dossier);
  • }
  • if ($bal=="")
  • {
  • scanbal();
  • }
  • else
  • {
  • scanbal();
  • include($bal);
  • $mbox = imap_open ("{".$server.":".$port."}$Folder", $adresse, $pass);
  • function scanBlackList($mbox,$str,$msgId,$blfile)
  • {
  • $compteur=0;
  • $fcontents = file( $blfile );
  • while ( list( $numero_ligne, $ligne ) = each( $fcontents ) )
  • {
  • if ($numero_ligne!="0" && strtolower(trim($ligne))==strtolower(trim($str)))
  • delMsg($mbox,$msgId,$ligne);
  • }
  • }
  • function delMsg($mbox,$msgId,$adMail)
  • {
  • echo("<b>mail de ".$adMail." attention !suppression mail numéro : ".$msgId."</b>");
  • imap_delete($mbox, $msgId+1);
  • }
  • echo "<h1>analyse de la BAL</h1>\n";
  • $headers = imap_headers($mbox);
  • if ($headers == false) {
  • echo "Appel échoué<br />\n";
  • } else {
  • while (list ($key,$val) = each ($headers)) {
  • $Hi=imap_headerinfo($mbox,$key+1,80,80);
  • $fromName=$Hi->from[0]->mailbox;
  • $fromServer=$Hi->from[0]->host;
  • $from=$fromName."@".$fromServer;
  • scanBlackList($mbox,$from,$key,'blacklist.txt');
  • scanBlackList($mbox,$fromServer,$key,'http://www.spamanti.net/rogues.txt');
  • scanBlackList($mbox,$fromServer,$key,'http://blogs.labo-dotnet.com/blacklist.txt');
  • echo "<form action=\"adAdMail.php\">".$val."--".$subject."-- <input type=text name=\"adMail\" value=\"".$from."\"><button type=\"submit\" target=\"_blank\">x</button>--<b>".$key."</b></form>\n";
  • }
  • }
  • imap_expunge ($mbox);
  • imap_close($mbox);
  • }
  • ?>
  • --------------------------- adAdMail.php ---------------------------
  • <?
  • $fp=fopen("blacklist.txt","r+");
  • $fsz=filesize("blacklist.txt");
  • fseek($fp,$fsz);
  • fputs($fp,"$adMail\n");
  • fclose($fp);
  • ?>
  • <script>
  • history.go(-1)
  • </script>
  • --------------------------- bal/free.php ---------------------------
  • // créez autant de fichier décrivant vos comptes dans un sous repertoire "bal/"
  • <?
  • $server="imap.free.fr";
  • $port=143;
  • $folder="INBOX";
  • $adresse="compte@free.fr";
  • $login="compte";
  • $pass="pass_compte";
  • ?>
---------------------------   index.php    ---------------------------
liste domaines spamer: <br>
http://www.spamanti.net/rogues.txt <br>
http://blogs.labo-dotnet.com/blacklist.txt<br>
<?php

function scanbal()
{
		$folder = "bal";
	$dossier = opendir($folder);
	while ($Fichier = readdir($dossier)) 
	{
  		if ($Fichier != "." && $Fichier != "..") 
  		{
    		$nomFichier = $folder."/".$Fichier;
    		echo "<a href=\"index.php?bal=".$nomFichier."\">".$Fichier."</a><BR>";
  		}
	}
	closedir($dossier);
}


if ($bal=="")
{
	scanbal();
}


else 
{

	scanbal();
	include($bal);

$mbox = imap_open ("{".$server.":".$port."}$Folder", $adresse, $pass);

function scanBlackList($mbox,$str,$msgId,$blfile)
{
  $compteur=0;  
  $fcontents = file( $blfile ); 
  while ( list( $numero_ligne, $ligne ) = each( $fcontents ) ) 
  { 
          if ($numero_ligne!="0" && strtolower(trim($ligne))==strtolower(trim($str)))
                    delMsg($mbox,$msgId,$ligne);
  } 
}

function delMsg($mbox,$msgId,$adMail)
  {	
  echo("<b>mail de ".$adMail." attention !suppression mail numéro : ".$msgId."</b>");
  imap_delete($mbox, $msgId+1);
  }


echo "<h1>analyse de la BAL</h1>\n";
$headers = imap_headers($mbox);
if ($headers == false) {
   echo "Appel échoué<br />\n";
} else {
   while (list ($key,$val) = each ($headers)) {
  			$Hi=imap_headerinfo($mbox,$key+1,80,80);
   			$fromName=$Hi->from[0]->mailbox;
   			$fromServer=$Hi->from[0]->host;
   			$from=$fromName."@".$fromServer; 
     			scanBlackList($mbox,$from,$key,'blacklist.txt');
     			scanBlackList($mbox,$fromServer,$key,'http://www.spamanti.net/rogues.txt');
     			scanBlackList($mbox,$fromServer,$key,'http://blogs.labo-dotnet.com/blacklist.txt');
       echo "<form action=\"adAdMail.php\">".$val."--".$subject."-- <input type=text name=\"adMail\" value=\"".$from."\"><button type=\"submit\" target=\"_blank\">x</button>--<b>".$key."</b></form>\n";
   }
}
imap_expunge ($mbox);
imap_close($mbox);
}
?> 


---------------------------   adAdMail.php    ---------------------------

<?
$fp=fopen("blacklist.txt","r+"); 
$fsz=filesize("blacklist.txt"); 
fseek($fp,$fsz); 
fputs($fp,"$adMail\n"); 
fclose($fp);
?>
<script>
history.go(-1)
</script>

---------------------------   bal/free.php    ---------------------------
// créez autant de fichier décrivant vos comptes dans un sous repertoire "bal/"
<?
$server="imap.free.fr";
$port=143;
$folder="INBOX";
$adresse="compte@free.fr";
$login="compte";
$pass="pass_compte";
?>

 Conclusion

Ben merci à
http://www.spamanti.net/rogues.txt
http://blogs.labo-dotnet.com/blacklist.txt

d'avo ir partagé leurs blacklists

j'imagine que y'en a surement plein d'autres ce sont les premières que j'ai trouvé... plus y en a moins c'est rapide

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

ENCODEUR D'ADRESSES EMAILS par Boris090
DEBLOQUER POSTFIX + AMAVISD par zaggash
Source avec Zip AJOUT D'UN RENDEZ-VOUS DANS UN CALENDRIER EXCHANGE 2003 par SachaWolf
TRANSFORMER DU TEXTE OU DE L'HTML EN TEXTE CONFORME À LA NOR... par fyav
Source avec Zip FORMULAIRE EMAIL AVEC PIECE JOINTE REPRIS DE LITTLEBUBU par cfndiaye

Commentaires et avis

Commentaire de Huugooo le 05/06/2004 20:00:14

Je vais tester ça !

Commentaire de scullder le 21/07/2004 00:29:23

ohlalala, moi aussi je teste ça, je cherchai justement sur google un tutorial pour utiliser la librairie imap pour faire la même chose. :-D

"je suis un peu newbie... donc mon code n'est pas forcement super performant ... à bons entendeurs..... j'me vexerais pas"

Si, ton code à l'air bon, à part quelques problèmes d'indentation ^^ (perso j'utilise scite, je peux plus m'en passer :-D)

Commentaire de scullder le 21/07/2004 01:20:40

alors après test, voilà ce que j'ai  à dire :
de gros problèmes d'indentations (oui ça m'a gêné quand je zieutait le code)
j'ai fait un peu de deboguage ^^, c'est à dire que j'ai besoin de me connecter à un serveur pop3 perso et voilà la biggous erreur à cette ligne
$mbox = imap_open ("{".$server.":".$port."}$Folder", $adresse, $pass);
tu as mis une majuscule à $Folder et pas dans le fichier de config alors tout de suite ça marche moins bien, puis après avoir regardé la doc sur http://www.php.net,  j'ai fini par remplacer cette ligne par celle là :
$mbox = imap_open ("{".$server.":".$port."/pop3}".$folder, $login, $pass);
notez aussi que j'ai mis $login et pas $adresse comme nom d'utilisateur.
Voilà après avoir fait ça, je n'avais plus cette magnifique erreur :-D :

Warning: imap_open(): Couldn't open stream {pop.no-log.org:110} in C:\apache\www\stopspam\index.php on line 34

Fatal error: Maximum execution time of 30 seconds exceeded in C:\apache\www\stopspam\index.php on line 34

Y'a aussi des fonctions qui se trouvent à l'intérieur d'une condition, c'est pas très propre à mon goût (je savais même pas que c'était possible).

Commentaire de scullder le 21/07/2004 02:25:12

bon bah voilà, je suis arrivé au résultat que je voulais et je vais donc utiliser ce script. Voilà, par contre, j'ai un peu modiifé pour pouvoir me connecter à ma bal sur un compte pop, et pr qq autres truc, je laisse le zip ici, ça marche niquel ton script izt00good :
http://scullder.free.fr/php/stopspam.zip
C'est réindenté, et j'ai relu le script, normalement là tout fonctionne niquel pour les serveurs pop du moins :-D
Merci d'avoir laissé cette source :)

Commentaire de Huugooo le 09/11/2004 15:48:26

Cool ! Je cherchais exactement ça !
Je comptais m'en faire un mais qui vérifie aussi l'entete des mails. Jle changerai un ptit peu !
"Re:Your document" "Re:Hello" "....viagra for free..." "\/lagra..." etc....

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Septembre 2010
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
27282930   

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales