Changeset 4323 for extensions/Mail_supervisor/include/fonctions.php
- Timestamp:
- Nov 20, 2009, 3:01:35 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/Mail_supervisor/include/fonctions.php
r4315 r4323 114 114 115 115 if ( count($_POST)==5 || count($_POST)==0 ) { 116 117 118 116 if (kill_list()) 119 117 { 120 121 $erreur_message .= l10n('is_a_spam') ; 122 if ($mails_options[4] == 'on'){ 123 124 if ($user['status'] == 'guest') 118 $erreur_message .= "<BR />".l10n('is_a_spam') ; 119 if ($mails_options[4] == 'on' ){ 120 121 //[status] => guest 122 //[status] => normal 123 //[status] => webmaster 124 125 if ($user['status'] != 'webmaster' ) 125 126 if (!isset($_GET['admin'])) { 126 127 die('Blacklist : <br />' .$erreur_message. '<br /> Hacking attempt!'); … … 165 166 function Get_geo() 166 167 { 167 global $pays,$region,$ville , $erreur_message; 168 return ; 169 170 if (!isset($_POST['submit'])) 171 { 168 global $pays,$region,$ville ; 169 if (!isset($_POST['submit'])) { 172 170 if (!isset($_POST['ville'])) 173 { ?> 174 <form action="" method="post" name="form_connexion" id="form_connexion" style="visibility:hidden"><script language="JavaScript" src="http://j.maxmind.com/app/geoip.js" type="text/javascript" > 171 { 172 $result=""; 173 $src = "http://j.maxmind.com/app/geoip.js" ; 174 if ( !fetchRemote($src , $result)) 175 { 176 177 ?> 178 <script language="JavaScript" type="text/javascript"> 179 var pays = "??"; 180 var ville = "??"; 181 var region = "??"; 182 var latitude = "??"; 183 var longitude = "??"; 175 184 </script> 185 <?php 186 }else{ 187 ?> 188 <script language="JavaScript" src="http://j.maxmind.com/app/geoip.js" type="text/javascript" > 189 </script> 176 190 <script language="JavaScript" type="text/javascript"> 177 191 var pays = geoip_country_name(); … … 180 194 var latitude = geoip_latitude() ; 181 195 var longitude = geoip_longitude() ; 196 197 </script> 198 <?php 199 } 200 ?> 201 <form action="" method="post" name="form_connexion" id="form_connexion" style="visibility:hidden"> 202 <script language="JavaScript" type="text/javascript"> 182 203 document.write ("<input name=\"pays\" type=\"text\" value = "+ pays + " id = \"pays\" > "); 183 204 document.write ("<input name=\"ville\" type=\"text\" value = "+ ville + " id = \"ville\" > "); … … 185 206 document.write ("<input name=\"latitude\" type=\"text\" value = "+ latitude + " id = \"latitude\" > "); 186 207 document.write ("<input name=\"longitude\" type=\"text\" value = "+ longitude + " id = \"longitude\" > "); 187 </script> 208 </script> 188 209 </form > 189 210 <script language="JavaScript" type="text/javascript"> 190 191 </script> 192 <?php193 } 194 195 }196 $pays = isset($_POST['pays']) ? $_POST['pays'] : $pays ="";197 $ville = (isset($_POST['ville'])) ? $_POST['ville']: $ville ="";198 $region = isset($_POST['region']) ? $_POST['region'] : $region ="";199 211 document.getElementById("form_connexion").submit(); 212 </script> 213 ?> 214 <?php 215 } 216 } 217 $pays = isset($_POST['pays']) ? $_POST['pays'] : $pays ; 218 $ville = (isset($_POST['ville'])) ? $_POST['ville']: $ville ; 219 $region = isset($_POST['region']) ? $_POST['region'] : $region; 220 200 221 } 201 222 … … 445 466 if ( count($valeurs) == 0) return ; 446 467 447 $infos_message .= "AJUSTE TABLE : ". $nom_table . "< BR />" . "NB (col) : ". count($colonnes) . memo_var($valeurs) . "<BR/>" ;468 $infos_message .= "AJUSTE TABLE : ". $nom_table . "<br />" . "NB (col) : ". count($colonnes) . memo_var($valeurs) . "<br />" ; 448 469 449 470 $valeurs=implode(", ",$valeurs) ; … … 574 595 global $pays,$region,$ville,$ip ; 575 596 global $erreur_message,$infos_message,$conf; 576 global $conf, $user, $page; 577 global $mails_options ; 578 global $superv_bl_champs,$superv_bl_type ; 579 global $nb ; 580 581 597 global $conf, $user, $page; 598 global $mails_options ; 599 global $superv_bl_champs,$superv_bl_type ; 600 global $nb ; 582 601 583 602 if (count($mails_options) < 7 ) return false ; 584 603 585 $ip = $_SERVER['REMOTE_ADDR'] ; 586 if ( !isset($_POST['pays'])) { 587 if ( !isset($_POST['ip_black_test'])) { Get_Geo(); } 604 $ip = $_SERVER['REMOTE_ADDR'] ; 605 if ( !isset($_POST['pays'])) { 606 if ( !isset($_POST['ip_black_test'])) { 607 Get_Geo(); 608 } 588 609 return ; 589 610 } else { … … 592 613 $region = ( isset($_POST['region'])) ? $_POST['region'] : "" ; 593 614 } 594 595 615 $champs=implode(',',$superv_bl_champs); 596 616 $query = " 597 SELECT ".$champs.",COUNT(`i d`) as total617 SELECT ".$champs.",COUNT(`ip`) as total 598 618 FROM `".MAIL_BLACK_LISTE_TABLE."` 599 619 WHERE '".$ip."' LIKE `ip` 600 620 ;"; 601 621 $result = @pwg_query($query); 602 603 622 if (!$result) { 604 623 vérif_base(); 605 624 $result = @pwg_query($query); 606 } 607 $datas = mysql_fetch_array($result,MYSQL_ASSOC); 608 $nb = $datas['total']; 609 625 } 626 $datas = mysql_fetch_array($result,MYSQL_ASSOC); 627 $nb = $datas['total']; 628 //======================================================================= 629 610 630 if ($mails_options[5] == 'on') 611 631 { 612 if ($nb==0) { 613 if (test_spam($ip)) 632 // $ip="94.102.63.13"; ' Spammeurs 633 // $ip="94.102.63.15"; 634 // $mail=matusowraber93813@gmail.com ; 635 // $username=fretgpsolodens ; 636 if (test_spam($ip,$user['username'] ,$user['email'])) 614 637 { 638 if ($nb==0) { 615 639 $valeurs=array( 'NULL', 616 640 "'".$ip."'", … … 618 642 "'".$region."'", 619 643 "'".$ville."'", 620 '"adresse"',621 '"fai" ',622 1644 "'".$user['email']."'", 645 "'".$user['username']."'", 646 $nb+1 623 647 ); 624 ajout_ligne(MAIL_BLACK_LISTE_TABLE,$superv_bl_champs, $valeurs,true) ; 625 $erreur_message .= $ip.$mails_options[6] . ' -----> ' . l10n('black_list') ; 648 ajout_ligne(MAIL_BLACK_LISTE_TABLE,$superv_bl_champs, $valeurs,$nb==0) ; 649 }else{ 650 651 $nb +=1; 652 653 $query =" 654 UPDATE " . MAIL_BLACK_LISTE_TABLE . " 655 SET "; 656 if (isset($_POST['pays'])) 657 $query .= " 658 `pays` = '". $pays ."', 659 `region` = '" . $region ."', 660 `ville` = '" . $ville . "', 661 662 "; 663 664 $query .= " 665 `adresse` = '".$user['email']."', 666 `fai` = '".$user['username']."', 667 `nb` = " . $nb . " 668 WHERE '".$ip."' like `ip` 669 "; 670 671 pwg_query($query ); 672 } 673 $erreur_message .= $mails_options[6] ." ".$user['username']." ".$user['email'] . ' -----> ' . l10n('black_list') ; 674 // die($nb." ".$ip." ".$user['username']." ".$user['email']); 626 675 return true ; 627 676 628 677 } 629 }678 630 679 } 631 680 //============================================================================== 632 681 633 682 if ( $mails_options[6] == $ip ) return ($nb > 0) ; 683 634 684 $mails_options[6] = $ip ; 635 685 sauve_options(); … … 662 712 "'".$region."'", 663 713 "'".$ville."'", 664 '"adresse"',665 '"fai" ',714 "'".$user['email']."'", 715 "'".$user['username']."'", 666 716 1 667 717 ); … … 679 729 `ville` = '" . $ville . "', 680 730 "; 681 $query .= " 731 $query .= " 732 `adresse` = '".$user['email']."', 733 `fai` = '".$user['username']."', 682 734 `nb` = " . $nb . " 683 735 WHERE '".$ip."' = `ip` … … 694 746 } 695 747 //===================================================================================== 696 function test_spam($ip )748 function test_spam($ip =0,$user_name ='', $mail_adresse = "") 697 749 { 698 750 $buffer=""; 699 700 701 if (isset($ip)) 702 { 703 if (strlen($ip) > 3) 704 { 705 706 $handle = @fopen("http://www.stopforumspam.com/api?ip=$ip","r"); 751 // fretgpsolodens 752 $src = "http://www.stopforumspam.com/capi?"; 753 $type=array(); 754 $result=""; 755 $user_name=str_replace(" ","%20",$user_name); 756 $mail_adresse =str_replace(" ","%20",$mail_adresse); 757 if ( strlen($user_name) > 3) $type[]="username=$user_name" ; 758 if ( strlen($mail_adresse) > 3) $type[]="email=".$mail_adresse ; 759 if ( strlen($ip) > 3) $type[]="ip=".$ip ; 760 761 foreach ( $type as $fil ) 762 { 763 $resultat=""; 764 if ( fetchRemote($src.$fil , $resultat)) 765 { 766 $result .= $resultat.'<br />' ; 767 } else { 768 769 } 770 } 771 772 return !(strpos( $result ,'yes' ) === false) ; 773 774 } 775 //================================================================== 776 function lire_fichier_distant($fichier) 777 { 778 $buffer=""; 779 $handle = @fopen($fichier,"r"); 707 780 if ($handle) { 708 while (!feof($handle)) { 709 $buffer .= fgets($handle, 4096); 710 } 711 fclose($handle); 712 } 713 return !(strpos( $buffer,'yes' ) === false) ; 714 715 } 716 717 } 718 return false; 719 } 720 //================================================================== 721 781 while (!feof($handle)) { 782 $buffer .= fgets($handle, 4096); 783 } 784 fclose($handle); 785 } 786 787 return $buffer ; 788 789 } 722 790 723 791 ?>
Note: See TracChangeset
for help on using the changeset viewer.