Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/03/2012, 06:53
Avatar de lambar
lambar
 
Fecha de Ingreso: marzo-2005
Ubicación: Murcia Fumeta
Mensajes: 55
Antigüedad: 19 años, 7 meses
Puntos: 0
Respuesta: [APORTE] BlackMail - Evitar registros fraudulentos con correos temporales

Hola Iviamontes, yo también tengo algo parecido pero el problema no es saber si el dominio existe, es más, si algún dominio de la lista no existe tengo que borrarlo por que es una comprobación inútil, la idea de esto es evitar que se registren con los buzones falsos que ofrecen estos dominios, buzones de usar y tirar pensados para páginas que envían mucho Spam, y no hay manera física de saber si el dominio del buzón que nos introducen se dedica a este tema, por lo tanto hay que hacer una pequeña base de datos como ésta, en un principio, y lógicamente, pensé en hacerme la mía y punto, pero tendré que estar actualizándola de vez en cuando mientras que el resto de Webmasters tendrán que hacer lo mismo, así que como tengo muchas páginas y voy a introducir la función en todas pues en mi servidor general me he hecho esto para mí y ya que está hecho lo pongo a vuestra disposición que no me cuesta nada.


=) Saludos


Edito:
Iviamontes ahora deberías hacer esto: :)

Código PHP:
<?php

function bmCheck $m ) {
  
$cUrl 'http://blackmail.api.l3o.org/'$q http_build_query ( array ( 'm' => $m ) );
  return 
file_get_contents $cUrl false stream_context_create ( array ( 'http' => array ( 'method' => 'POST' 'header' => "Connection: close\r\nContent-Length: " strlen $q ) . "\r\n" 'content' => $q ) ) ) );
}

function 
validar_email($email) {
  
$exp "^[a-z'0-9]+([._-][a-z'0-9]+)*@([a-z0-9]+([._-][a-z0-9]+))+$";
  if(
eregi($exp,$email)){
    if(
checkdnsrr(array_pop(explode("@",$email)),"MX")){
      if ( 
bmCheck $email ) ) {
        return 
true;
      }else{
        return 
false;
      }
    }else{
      return 
false;
    }
  }else{
    return 
false;
  }
}

// para aplicarla

if (validar_email($_GET[correo])){
// coloco las instrucciones
echo 'Es correcto el correo';
}else{
echo 
'Es falso el correo';
}

?>