Sécurité PHP :s
Pikachøù
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
Pikachøù Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
Pikachøù Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
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øù
Merci d'avance
Pikachøù
A voir également:
- Sécurité PHP :s
- Question de sécurité - Guide
- Votre appareil ne dispose pas des correctifs de qualité et de sécurité importants - Guide
- Mode securite - Guide
- Easy php - Télécharger - Divers Web & Internet
- Clé de sécurité windows 10 gratuit - Guide
6 réponses
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) !
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
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
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Non il a demandé un script à insérer dans une page PHP, il a jamais spécifié que c'était obligatoirement en php ^^
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 :)
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 :)