Sécurité PHP :s

Pikachøù Messages postés 9 Date d'inscription   Statut Membre -  
Pikachøù Messages postés 9 Date d'inscription   Statut Membre -
Bonjour, je voudrais savoir si quelqu'un aurait un script a insérer dans un script php pour que l'utilisateur ne puisse pas envoyer de message avant 10 minutes je parle ici pour mon formulaire de contact !

Merci d'avance

Pikachøù
Configuration: Windows Vista
Firefox 3.0.12

6 réponses

  1. Heryu Messages postés 645 Statut Membre 62
     
    Ton formulaire, tu le mets dans un if(temps<10minutes) > alors la personne ne pourra pas envoyer de formulaire (c'est pour t'expliquer hein, fait pas copier coller :p) !
    0
  2. Alain_42 Messages postés 5413 Statut Membre 904
     
    une condition en php de 10 minutes !!

    Un script php a un temps d'exécution de quelques dizaines de secondes maxi , et est limité par le serveur.

    Donc il te faut trouver une astuce

    en posant un cookie par exemple, qui contient la date heure dernier envoi, ensuite tu viens le lire et n'autorise l'envoi que si 10 mn se sont écoulées.

    si tu trouve le système du cookie pas suffisamment sûr tu peux utiliser les variables de session php
    0
  3. jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
     
    Ben sinon en passant par du javascript
    tu mets un bouton à disabled et en bout de 10 minutes, le bouton se remet à enable avec du javascript, et en cliquant dessus, ca envoit le mail
    0
  4. Alain_42 Messages postés 5413 Statut Membre 904
     
    Oui ok mais il voulait en php
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
     
    Non il a demandé un script à insérer dans une page PHP, il a jamais spécifié que c'était obligatoirement en php ^^
    0
  7. Pikachøù Messages postés 9 Date d'inscription   Statut Membre
     
    Je croi avoir trouver un autre solution mais il me faudrai quelqu'un qui sache m'integrer

    se script :

    <?php
    if(!empty($_POST['captcha']))
    {
    if(isset($_SESSION['captcha']) && $_POST['captcha'] == $_SESSION['captcha'])
    echo 'Le captcha est bon.';
    else
    echo 'La captcha n\'est pas bon.';

    session_destroy(); // Pour eviter les multiposts.
    }
    else
    echo 'Il faut remplir tout les champs.';
    ?>

    dans se script :

    <?php
    $msg_erreur = "<div class=\"reponse\">Attention, les champs marqués d'une * sont obligatoires.<br/></div>";

    $msg_ok = "<div class=\"reponse\">Votre message a bien été envoyé et sera traité le plus rapidement possible.</div>";

    $message = $msg_erreur;

    define('MAIL_DESTINATAIRE','...@...');

    define('MAIL_SUJET','Message de ...');

    // vérification des champs

    if (empty($_POST['email_expediteur']))

    $message .= "<div class=\"reponse\">Veuillez indiquez votre adresse e-mail.<br/></div>";

    if (empty($_POST['message']))

    $message .= "<div class=\"reponse\">Veuillze indiquez votre message.</div>";

    // si un champ est vide, on affiche le message d'erreur

    if (strlen($message) > strlen($msg_erreur)) {

    echo $message;
    // sinon c'est ok

    } else {

    foreach($_POST as $index => $valeur) {

    $$index = stripslashes(trim($valeur));

    }

    //Préparation de l'entête du mail:

    $mail_entete = "MIME-Version: 1.0\r\n";

    $mail_entete .= "From: {$_POST['nom']} "

    ."<{$_POST['email']}>\r\n";

    $mail_entete .= 'Reply-To: '.$_POST['email']."\r\n";

    $mail_entete .= 'Content-Type: text/plain; charset="iso-8859-15"';

    $mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";

    $mail_entete .= 'X-MailerPHP/' . phpversion()."\r\n";

    // préparation du corps du mail

    $mail_corps .= "E-MAIL : $email_expediteur / ";

    $mail_corps .= "TITRE : $titre / ";

    $mail_corps .= "MESSAGE : $message";

    // envoi du mail

    if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {

    //Le mail est bien expédié

    echo $msg_ok;

    } else {

    //Le mail n'a pas été expédié

    echo 'Une erreur est survenue lors de l\'envoi du formulaire';

    }

    }
    ?>

    S'il vous plait :)
    0