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
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
A voir également:
- Sécurité PHP :s
- Mode securite - Guide
- Easy php - Télécharger - Divers Web & Internet
- Désactiver sécurité windows - Guide
- Le profil de votre interlocuteur a été bloqué sur notre site par mesure de sécurité… ✓ - Forum Réseaux sociaux
- Retour a la ligne php ✓ - Forum PHP
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
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) !
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
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
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
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
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
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
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
24 juil. 2009 à 10:06
Oui ok mais il voulait en php
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
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 ^^
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
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 :)
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 :)