Visualizzazione dei risultati da 1 a 10 su 10

Discussione: controllo email

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    489

    controllo email

    ciao!

    sul mio sito ho un form di registrazione. quando viene dato l ok uno script ch eho trovato su internet controlla che il formato sia valido... lo script é questo:

    codice:
    function check_email_address($email) {  // First, we check that there's one @ symbol, and that the lengths are right
    if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email)) {    // Email invalid because wrong number of characters in one section, or wrong number of @ symbols.
    return false;  }  // Split it into sections to make life easier
    $email_array = explode("@", $email);
    $local_array = explode(".", $email_array[0]);
    for ($i = 0; $i < sizeof($local_array); $i++) {
    if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) {
    return false;    }  }
    
    if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) { // Check if domain is IP. If not, it should be valid domain name
    $domain_array = explode(".", $email_array[1]);
    if (sizeof($domain_array) < 2) {
    return false; // Not enough parts to domain
    }
    for ($i = 0; $i < sizeof($domain_array); $i++) {
    if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) {
    return false;
     }    }  }
     return true;}

    io vorrei modificarlo in modo che controlli anche che il dominio NON sia compreso nella banlist.. una roba tipo cosi:

    codice:
    $dominio1="mailinator";
    $dominio2="spammails";
    ecc......
    
    function check_email_address($email) {  // First, we check that there's one @ symbol, and that the lengths are right
    if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email)) {    // Email invalid because wrong number of characters in one section, or wrong number of @ symbols.
    return false;  }  // Split it into sections to make life easier
    $email_array = explode("@", $email);
    
    controlla se il dominio dell email é $dominio 1, o dominio 2 ecc.... 
    
    $local_array = explode(".", $email_array[0]);
    for ($i = 0; $i < sizeof($local_array); $i++) {
    if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) {
    return false;    }  }
    
    if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) { // Check if domain is IP. If not, it should be valid domain name
    $domain_array = explode(".", $email_array[1]);
    if (sizeof($domain_array) < 2) {
    return false; // Not enough parts to domain
    }
    for ($i = 0; $i < sizeof($domain_array); $i++) {
    if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) {
    return false;
     }    }  }
     return true;}

    qualcuno sa aiutarmi?

    grazie

    ciao

    igor

  2. #2
    Utente bannato L'avatar di Braco
    Registrato dal
    Oct 2005
    Messaggi
    1,697
    Puoi mettere in un file esterno chiamato parole-proibite.php un array con gli item che non vuoi, es:

    Codice PHP:
    <?php
    $parole_proibite 
    = array ("item1","item2");
    ?>
    e richiamarlo, come vedi sotto questo alert vale per 5 campi, ma puoi togliere o modificare quelli che non servono

    Codice PHP:
    include("parole-proibite.php");
    //parole proibite (vedi parole-proibite.php)
    $stringa $_POST['messaggio'].' '.$nome.' '.$email.' '.$url.' '.$citta;
    foreach(
    $parole_proibite as $parola){
    if (
    stristr($stringa$parola) !== false){
    $errore .= "







    <tr><td valign=\"center\"><center><font family=\"arial\" size=\"7\">La parola \"<font color=\"red\">
    $parola</font>\" non è ammessa</font></center>
    "
    ;
     }


  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    489
    ciao! grazie della risposta! purtroppo io devo controllare solo il domminio dell email.. con il tuo sistema un indirizzo come

    "spameater@hotmail.com" sarebbe cestinato.

    io so che il codice che ho postato divede l email in blocchi.. nel seguente modo:

    A@B.C

    io voglio controllare il blocco B ma non so in che modo lo divide ei n che modo contorllar eil contenuto....

    grazie cmq della tua rispsota.

  4. #4
    Utente bannato L'avatar di Braco
    Registrato dal
    Oct 2005
    Messaggi
    1,697
    Originariamente inviato da sharky86
    ciao! grazie della risposta! purtroppo io devo controllare solo il domminio dell email.. con il tuo sistema un indirizzo come

    "spameater@hotmail.com" sarebbe cestinato.

    io so che il codice che ho postato divede l email in blocchi.. nel seguente modo:

    A@B.C

    io voglio controllare il blocco B ma non so in che modo lo divide ei n che modo contorllar eil contenuto....

    grazie cmq della tua rispsota.
    Con il mio codice puoi controllare quello che vuoi, al posto di "item1" "item2" metti ciò che vuoi fermare.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    489
    aspé mi sono spiegato male...

    io voglio che:

    SPAMmail@google.it sia permesso...

    ma google@SPAMmail.com no..

    cioé cio che deve controllare é pramente il dominio di arrivo della mail.. non il nome..

    grazie ancora per l aiuto

  6. #6
    Utente bannato L'avatar di Braco
    Registrato dal
    Oct 2005
    Messaggi
    1,697
    Originariamente inviato da sharky86
    aspé mi sono spiegato male...

    io voglio che:

    SPAMmail@google.it sia permesso...

    ma google@SPAMmail.com no..

    cioé cio che deve controllare é pramente il dominio di arrivo della mail.. non il nome..

    grazie ancora per l aiuto
    Allora devi creare una Reg Exp

    codice:
    if (!ereg("^([-_.#$&a-z0-9]+)[@][google.it])$",$email))
    echo = "Inserire un'Email valida";

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    489
    grazie..

    ora cerchiamo di invertirlo... e di escludere tutto cio che cé dopo il punto (.com .it ecc... ) io ci provo.. dimmi se é giusto..


    codice:
    if (ereg("^([-_.#$&a-z0-9]+)[@][spammail]("^([.a-z]+))$",$email))
    die ('Ti ho fregato...');
    giusto?

    grazie

    ciao

  8. #8
    Utente bannato L'avatar di Braco
    Registrato dal
    Oct 2005
    Messaggi
    1,697
    Originariamente inviato da sharky86
    grazie..

    ora cerchiamo di invertirlo... e di escludere tutto cio che cé dopo il punto (.com .it ecc... ) io ci provo.. dimmi se é giusto..


    codice:
    if (ereg("^([-_.#$&a-z0-9]+)[@][spammail]("^([.a-z]+))$",$email))
    die ('Ti ho fregato...');
    giusto?

    grazie

    ciao
    Tu vuoi permettere google

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    489
    io volgio blocare una decina di domini.. che sono quelli usati dai spambot..

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    489
    puo funzionare una cosa del genere? (vedere linea commentata)

    codice:
    $dominio1="mailinator";
    $dominio2="spammails";
    ecc......
    
    function check_email_address($email) {  // First, we check that there's one @ symbol, and that the lengths are right
    if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email)) {    // Email invalid because wrong number of characters in one section, or wrong number of @ symbols.
    return false;  }  // Split it into sections to make life easier
    $email_array = explode("@", $email);
    
    controlla se il dominio dell email é $dominio 1, o dominio 2 ecc.... 
    
    $local_array = explode(".", $email_array[0]);
    for ($i = 0; $i < sizeof($local_array); $i++) {
    if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) {
    return false;    }  }
    
    if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) { // Check if domain is IP. If not, it should be valid domain name
    $domain_array = explode(".", $email_array[1]);
    if (sizeof($domain_array) < 2) {
    return false; // Not enough parts to domain
    }
    
    ////inizio
    
    if ($domain_array[1]==$dominiovietato1 OR $domain_array[1]==$dominiovietato2 OR $domain_array[1]==$dominiovietato3)
    {return false;}
    
    ////fine
    
    for ($i = 0; $i < sizeof($domain_array); $i++) {
    if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) {
    return false;
     }    }  }
     return true;}

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.