Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    Stabilire un limite di invio ad un form e-mail php

    Raga ho questo file php per inviare form via e-mail, ma come faccio a stabilire che il form può essere inviato ogni tot minuti?? Ovviamente mi serve per evitare spam. Di php non so niente, spero che mi aiutiate!

    codice:
    <?php
    // Recupero il valore dei campi del form
    $destinatario = $_POST['destinatario'];
    $mittente = $_POST['mittente'];
    $oggetto = $_POST['oggetto'];
    $nick = $_POST['nick'];
    $eta = $_POST['eta'];
    $nome = $_POST['nome'];
    $citta = $_POST['citta'];
    $professione = $_POST['professione'];
    $commento = $_POST['commento'];
    
    // Valorizzo le variabili relative all'allegato
    $allegato = $_FILES['allegato']['tmp_name'];
    $allegato_type = $_FILES['allegato']['type'];
    $allegato_name = $_FILES['allegato']['name'];
    
    // Creo 2 variabili che riempirò più avanti...
    $headers = "From: " . $mittente;
    
    // Verifico se il file è stato caricato correttamente via HTTP
    // In caso affermativo proseguo nel lavoro...
    if (is_uploaded_file($allegato))
    {
      // Apro e leggo il file allegato
      $file = fopen($allegato,'rb');
      $data = fread($file, filesize($allegato));
      fclose($file);
    
      // Adatto il file al formato MIME base64 usando base64_encode
      $data = chunk_split(base64_encode($data));
    
      // Genero il "separatore"
      // Serve per dividere, appunto, le varie parti del messaggio.
      // Nel nostro caso separerà la parte testuale dall'allegato
      $semi_rand = md5(time());
      $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
      
      // Aggiungo le intestazioni necessarie per l'allegato
      $headers .= "\nMIME-Version: 1.0\n";
      $headers .= "Content-Type: multipart/mixed;\n";
      $headers .= " boundary=\"{$mime_boundary}\"";
    
      // Definisco il tipo di messaggio (MIME/multi-part)
      $msg .= "This is a multi-part message in MIME format.\n\n";
    
      // Metto il separatore
      $msg .= "--{$mime_boundary}\n";
    
      // Questa è la parte "testuale" del messaggio
      $msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
      $msg .= "Content-Transfer-Encoding: 7bit\n\n";
      $msg .= "E-mail: " . $mittente . "\n" . "Nick: " . $nick . "\n" . "Nome: " . $nome . "\n" . "Età: " . $eta . "\n" . "Città: " . $citta . "\n" . "Professione: " . $professione . "\n" . "Commento: " . $commento . "\n\n";
    
      // Metto il separatore
      $msg .= "--{$mime_boundary}\n";
    
      // Aggiungo l'allegato al messaggio
      $msg .= "Content-Disposition: attachment;\n";
      $msg .= " filename=\"{$allegato_name}\"\n";
      $msg .= "Content-Transfer-Encoding: base64\n\n";
      $msg .= $data . "\n\n";
    
      // chiudo con il separatore
      $msg .= "--{$mime_boundary}--\n";
    }
    else
    {
      $msg .= "E-mail: " . $mittente . "\n" . "Nick: " . $nick . "\n" . "Nome: " . $nome . "\n" . "Età: " . $eta . "\n" . "Città: " . $citta . "\n" . "Professione: " . $professione . "\n" . "Commento: " . $commento;
    }
    
    // Invio la mail
    if (mail($destinatario, $oggetto, $msg, $headers))
    {
      echo "
    
    Mail inviata con successo!</p>";
    }else{
      echo "
    
    Errore!</p>";
    }
    ?>

  2. #2
    Vi prego aiutatemi!

  3. #3
    Il fatto che ci sia questa var.le
    $nick = $_POST['nick'];

    mi fa pensare che tu hai un sito dove qualcuno si logga e, da qui, poi può mandare e-mail giusto?

  4. #4
    Originariamente inviato da gianf_tarantino
    Il fatto che ci sia questa var.le
    $nick = $_POST['nick'];

    mi fa pensare che tu hai un sito dove qualcuno si logga e, da qui, poi può mandare e-mail giusto?

    Non proprio, il link preciso alla pagina è questo: http://thedoors.altervista.org/form.htm

  5. #5
    Se il nick è univoco allora il controllo lo potresti fare sul nick, assicurandoti che solo i nuovi utenti effettivamente si iscrivino.

  6. #6
    Originariamente inviato da gianf_tarantino
    Se il nick è univoco allora il controllo lo potresti fare sul nick, assicurandoti che solo i nuovi utenti effettivamente si iscrivino.
    Il nick può essere sempre cambiato, quindi vorrei memorizzare l'indirizzo Ip, ma come??

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    118
    $_SERVER['REMOTE_ADDR']

  8. #8
    Originariamente inviato da lucagiaca
    $_SERVER['REMOTE_ADDR']
    Immagino che questo sia il comando per salvare l'indirizzo ip giusto? Ok, però come faccio a bloccare l'invio di e-mail da parte di questo indirizzo salvato per un tot di minuti? Dov'è che salvo questa variabile, se poi la pagina php viene chiusa e riaperta?? Il valore della variabile andrebbe perso no?

  9. #9
    Originariamente inviato da Dreamer89
    Il nick può essere sempre cambiato, quindi vorrei memorizzare l'indirizzo Ip, ma come??
    Ho capito che il nick può essere sempre cambiato, ma sinceramente dovrebbero proprio prenderti di mira e perdere tempo ad inviarti e-mail!

  10. #10
    Originariamente inviato da gianf_tarantino
    Ho capito che il nick può essere sempre cambiato, ma sinceramente dovrebbero proprio prenderti di mira e perdere tempo ad inviarti e-mail!

    Lo so, ma sai a me piace prevenire!

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.