Sécurité PHP :s

Fermé
Pikachøù Messages postés 9 Date d'inscription lundi 20 juillet 2009 Statut Membre Dernière intervention 24 juillet 2009 - 24 juil. 2009 à 09:15
Pikachøù Messages postés 9 Date d'inscription lundi 20 juillet 2009 Statut Membre Dernière intervention 24 juillet 2009 - 24 juil. 2009 à 18:43
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øù

6 réponses

Heryu Messages postés 567 Date d'inscription mercredi 15 juillet 2009 Statut Membre Dernière intervention 28 juin 2016 62
24 juil. 2009 à 09:37
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
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
24 juil. 2009 à 09:49
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
jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 186
24 juil. 2009 à 10:00
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
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
24 juil. 2009 à 10:06
Oui ok mais il voulait en php
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 186
24 juil. 2009 à 10:07
Non il a demandé un script à insérer dans une page PHP, il a jamais spécifié que c'était obligatoirement en php ^^
0
Pikachøù Messages postés 9 Date d'inscription lundi 20 juillet 2009 Statut Membre Dernière intervention 24 juillet 2009
24 juil. 2009 à 18:43
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