Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766

    Problema spam da form mail

    Ragà tempo fa avevo un problema che senza che nessuno riempisse un form, questo mi partiva lo stesso con account tipo
    odshsdoihsdo@miosito.it
    cshosdhiodh@miosito.it
    ecc

    Dopo un po' ho risolto in qualche modo postando qua anche, ma adesso ho di nuovo lo stesso problema, infatti tornano a partire queste email senza che nessuno riempia il form (e il bello e' che ho anche i controlli in php e in javascript per non farli partire)

    Qualcuno mi sa aiutare a bloccare queste email?
    ecco l'esempio di script che sto usando:

    PER BLOCCARE I CAMPI NON RIEMPITI
    Codice PHP:
    <?php
    if(strlen($_SERVER['QUERY_STRING']) > 1)
    {
    exit(
    '<h1>Accesso negato</h1>');
    }
    $errori 0;
    $errore '
    <font size="5" color="red">Impossibile inviare l\'ordine</font>

    '
    ;
    $nome      $_POST['nome'];
    $cognome   $_POST['cognome'];
    $telefono  $_POST['telefono'];
    $cellulare $_POST['cellulare'];
    $email     $_POST['email'];
    $indirizzo $_POST['indirizzo'];
    $numero    $_POST['numero'];
    $citta     $_POST['citta'];
    $provincia $_POST['provincia'];
    $cap       $_POST['cap'];
    $quantita  $_POST['quantita'];
    $quantita2 $_POST['quantita2'];
    $quantita3 $_POST['quantita3'];
    $quantita4 $_POST['quantita4'];
    $prodotto  $_POST['prodotto'];
    $prodotto2 $_POST['prodotto2'];
    $prodotto3 $_POST['prodotto3'];
    $prodotto4 $_POST['prodotto4'];
    $pagamento $_POST['pagamento'];
    if( 
    $nome=="" || $cognome=="" || $telefono=="" || $email=="" )
    {
    $errori=1;
    $errore .= '<font size="5" color="red">Riempire i campi obbligatori. </font>

    <font size="5" color="#006699">[url="/compra.php"]Torna indietro[/url]</font>


    '
    ;
    }
    ?>
    FUNZIONE PER SPEDIRE L'EMAIL
    Codice PHP:
    <?php
                            
                            
    if( $errori == )
                            {
                                echo 
    $errore;
                            }
                            else
                            {

    $mittente="$nome $cognome <$email>";
    $mail_info="From: $mittente";
    $testo="
    DATI DEL CLIENTE 

    NOME: 
    $nome
    COGNOME: 
    $cognome  
    TELEFONO: 
    $telefono
    CELLULARE: 
    $cellulare
    E-MAIL: 
    $email
    INDIRIZZO: 
    $indirizzo
    NUMERO: 
    $numero
    CITTA': 
    $citta
    PROVINCIA: 
    $provincia
    CAP: 
    $cap

    ------------------------------
    DATI DI ACQUISTO

    $quantita - $prodotto
    $quantita2 - $prodotto2
    $quantita3 - $prodotto3
    $quantita4 - $prodotto4
     
    ------------------------------
    MODALITA DI PAGAMENTO

    $pagamento";
    $mittente="$nome $cognome<$email>";
    $mail_info="From: $mittente";
    mail("info@miosito.it","Richiesta merce dal sito",$testo,$mail_info); 
    }

  2. #2
    Bhe, non è che i controlli siano proprio validi!
    Per cominciare leggi questo articolo:

    validare i form con la programmazione ad oggetti

    E' già un primo passo per ottenere quello che ti serve.
    Ciao!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  3. #3
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    Originariamente inviato da mircov
    Bhe, non è che i controlli siano proprio validi!
    Per cominciare leggi questo articolo:

    validare i form con la programmazione ad oggetti

    E' già un primo passo per ottenere quello che ti serve.
    Ciao!
    io inizialmento avevo i controlli in javascipt e funzionava, poi quando la prima volta e' successo sto casino mi hanno fatto mettere quelli in php.

    Ora non ho capito, devo cambiare di nuovo?
    Qualche controllo gia' bello e pronto non ce l'ha nessuno per aiutarmi?

  4. #4
    Appunto! Leggi l'articolo che ti ho postato. Sono controlli in php programmati con gli oggetti. Ciò vuol dire che il tutto è altamente scalabile ed ampliabile a piacimento. Nel corso dell'articolo impari come funziona il sistema e ti ritrovi alla fine con una serie di classi che fanno tutto ciò che ti serve. Inoltre puoi implemntare controlli che non immagini nemmeno possano servire. Leggilo! E' veramente molto utile! Fidati!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  5. #5
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    ok

    unica cosa:
    mica dovro' rifare tutto dall'inizio?

  6. #6

    Re: Problema spam da form mail

    Originariamente inviato da Tr|k`Tr4k
    Ragà tempo fa avevo un problema che senza che nessuno riempisse un form, questo mi partiva lo stesso con account ...
    non ho capito se il tuo problema è lo spamm o la validazione dei campi...

    nella seconda ipotesi quoto il consiglio che ti ha dato mircov

    nella prima ipotesi, dovresti arginare il problema con altri metodi...per esempio Captcha
    http://forum.html.it/forum/showthrea...hreadid=807514
    There are 10 types of people in the world: Those who understand binary, and those who don't.

  7. #7
    Potrebbe essere una possibile soluzione. Ma io sono convinto che lo spambot passi perchè i controlli sono minimi e mal implementati.
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  8. #8
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    il problema e' lo spamm perche' mi arrivano ste email da indirizzi di posta che dopo la chiocciola hanno il mio dominio...

  9. #9
    Bhe, dovresti analizzare gli header della mail. Prova a contattare anche il servizio di hosting. Vedi loro cosa ti dicono. Tu, da parte tua, puoi solo effettuare controlli più ferrei. Ma la tua e-mail dove sta memorizzata? nella pagina o nello script php? Sei sicuro che arrivino dal form?

    Per esserne certo prova a mettere una stringa in un campo nascosto ed un altra la aggiungi al campo dove vengono inseriti i dati in questo modo:

    Codice PHP:
    $tua_stringa $_POST['campo'
    O anche in altri modo se vuoi. Basta che ci sia una stringa tua personalizzata che ti faccia capire che la mail è stata inviata dal form e che non sia una semplice mail inviata da chissà dove. Potrebbe darsi che lo spambot abbia registrato il tuo indirizzo da qualche altra parte e che non usi direttamente il form (e di questo dubito fortemente).
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  10. #10
    Premetto che non ho letto gli articoli postati, ma hai provato a mettere un controllo sul referrer?

    Presumibilmente, se le mail vengono inviate con un programmino di spam, il referrer non sarà il tuo sito, quindi, mettendo un controllo sull'HTTP_REFERRER, puoi evitare di far partire la mail nel caso in cui i dati del form non ti arrivino dalla pagina giusta.

    Dovresti controllare la variabile $_SERVER["HTTP_REFERER"]. Se coincide con la pagina dove si trova il form, fai partire la mail, altrimenti gli rispondi con un bel messaggio tipo "OPERATION NOT ALLOWED. IP LOGGED".

    Succedeva anche a me qualcosa di analogo, sul sito di un gruppo di giocatori di ruolo: domande d'ammissione che bypassavano tutti i controlli JS. Ho messo un controllo sul referrer, accompagnato da un bel messaggio terroristico di risposta e non è più successo :P
    ---
    Valeria Giulia
    *********
    Fata volentem ducunt, nolentem trahunt
    *****************

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.