Jump to content

[Tutorial] Consultando Se O Seu Ip Esta Lista Em Alguma Blacklist(Rbl)


abobre
 Share

Recommended Posts

Olá, boa noite !

Hoje é meu primeiro tutorial no fórum e gostataria de compartilhar com vocês.

Eu estou começando a trabalhar a com envio de e-mail marketing e a minha preocupação era desenvolver uma solução para verificar os meus IPS automaticamentes e com alguns exemplos, eu consegui resolver o meu problema.

Vamos usar o phpmailer para enviar as notificações e o Net_DNSBL para consultar o seu IP na blacklist.

Acesse o seu servidor via SSH e instale o Net_DNSBL (pear install Net_DNSBL), você tambem consegue instalar pelo WHM, porem não me recordo agora como faz.

Agora vamos criar o arquivo para fazer a consulta na blacklist.

<?php
require_once('Net_DNSBL-1.3.7/Net/DNSBL.php');
require_once('phpmailer/class.phpmailer.php');
$iplist = array('127.0.0.1','127.0.0.2'); // Coloque os IPS que você deseja monitorar
foreach ($iplist as $ip){
$dnsbl = new Net_DNSBL();
$dnsbl->setBlacklists(array(
'sbl.spamhaus.org',
'xbl.spamhaus.org',
'pbl.spamhaus.org',
'zen.spamhaus.org',
'bl.spamcop.net',
'bl.spamcop.net',
'cbl.abuseat.org',
'b.barracudacentral.org',
'dnsbl.sorbs.net',
'dyna.spamrats.com'
)); // Eu estou usando apenas essas RBLS, acredito que são as principais, podem alterar conforme a necessidade.
if ($dnsbl->isListed($ip)) {
    $RBL = $dnsbl->getListingBl($ip);    
    $getDetails =  $dnsbl->getTxt($ip);
    $array = array($ip, $RBL);
    $array = array_merge($array, $getDetails);    
    //Nova instância do PHPMailer
    $mail = new PHPMailer;
    // Definindo o idiolma
    $mail->SetLanguage('br', '/phpmailer/language/');
    //Informa que será utilizado o SMTP para envio do e-mail
    $mail->IsSMTP();
    //Informa que a conexão com o SMTP será autênticado
    $mail->SMTPAuth   = true;
    //Configura a segurança para SSL
    $mail->SMTPSecure = "ssl";
    //Informa a porta de conexão do GAMIL
    $mail->Port	   = 465;
    //Informa o HOST do GMAIL
    $mail->Host	   = "***********";
    //Usuário para autênticação do SMTP
    $mail->Username =   "*********";
    //Senha para autênticação do SMTP
    $mail->Password =   "**********";
    //Titulo do e-mail que será enviado
    $mail->Subject  =   "IP: " . $ip . " - RBL: " .$RBL;    
    //Preenchimento do campo FROM do e-mail
    $mail->From = $mail->Username;
    $mail->FromName = "Monitoramente de RBL";    
    //E-mail para a qual o e-mail será enviado
    $mail->AddAddress('*************');
    $mail->Body ='
    <strong>IP:</strong> ' .$array[0]. '<br >'.
    '<strong>RBL:</strong> ' .$array[1]. '<br >'.
    '<strong>Informações:</strong> ' .$array[2];
    $mail->AltBody = $mail->Body;
//    $mail->SMTPDebug = 1;
    //Dispara o e-mail
    $enviado = $mail->Send();
/*echo '<pre>';
print_r($array);
echo '</pre>';*/
}
}
?>
Feito isso, apenas deixe programado um cron para fazer a verificação automatica.

Download completo do script funcionando

https://mega.co.nz/#!B9BUGJgZ!R8LPcXiv2ynqGXWjytRTFhhPnTRVoIR0tbEiwqmzKh8

Desculpe se falei alguma besteira no tutorial, mas este é meu primeiro tutorial.

Link to comment
Share on other sites

Sera que muitas consultas a um determinado ip pode acabar deixando ele "marcado" nessas listas?

 

Eu acredito que não, pelo menos não encontrei nenhum assunto relacionado a sua duvida, inclusive tem até empresas que vendem esse serviço de consulta !!!

Link to comment
Share on other sites

Boa noite pessoal..

Eu sou iniciante e estou aprendendo. muito legal o script . 

Ele está perfeito no funcionamento ou precisa de alguma adaptação ?

E qual comando eu uso para instalar no meu servidor via SSH ?

 

Uso o linux centos..

 

Obrigado pela atenção

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...