par
antoniolav » 12 févr. 2006, 17:26
Bonjour,
j'ai pris le script du livre d'or du site du zéro sur mon site, et je suis en train d'essayer de rajouter 2/3 trucs pour le sécuriser. Je voudrais contrôler les abus de flood, et comme le livre marche avec un <form> HTMl qui renvoie sur la même page, j'ai mis en place une variable $deja_poste qui est crée si les $_POST existe (donc si la personne vient de poster).
Ensuite, si la personne re-essaye de poster, je regarde si $deja_poste existe,dans quel cas les données ne seront pas re-erntrés dans la BDD .
Bref, je ne crois pas avoir été très clair, je vous montre mon code, il ne marche pas et me crée même une erreur d'header (et je ne vois pas ce que ca vient faire là!) :
if (isset($_COOKIE["livreorsecuritycenter"])) { $deja_poste = 1; }
if (isset($_POST['pseudo']) AND isset($_POST['message']) )
{
$pseudo = htmlentities($_POST['pseudo'], ENT_QUOTES); // On utilise htmlentities par mesure de sécurité
$message = htmlentities($_POST['message'], ENT_QUOTES); // De même pour le message
$message = nl2br($message); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />
$expire = 2*24*3600; // on définit la durée du cookie, 1 an
setcookie("livreorsecuritycenter","dejaposte",time()+$expire); // on l'envoi
if (strlen($_POST['pseudo']) >= 3 AND strlen($_POST['message']) >= 5 AND $deja_poste != 1) {
// On peut enfin enregistrer :o)
mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "')");
} else {
echo '<b><br>';
echo '<font color=red>Vous devez entrer un pseudo ou un message plus long !</font>';
echo '</b><br>';
}
}
Erreur :
Warning: Cannot modify header information - headers already sent by (output started at /home/security/public_html/v2_azertyuiop/livreor.php:16) in /home/security/public_html/v2_azertyuiop/livreor.php on line 59
Et on peut encore flooder ... Merci d'avance pour votre aide

Bonjour,
j'ai pris le script du livre d'or du site du zéro sur mon site, et je suis en train d'essayer de rajouter 2/3 trucs pour le sécuriser. Je voudrais contrôler les abus de flood, et comme le livre marche avec un <form> HTMl qui renvoie sur la même page, j'ai mis en place une variable $deja_poste qui est crée si les $_POST existe (donc si la personne vient de poster).
Ensuite, si la personne re-essaye de poster, je regarde si $deja_poste existe,dans quel cas les données ne seront pas re-erntrés dans la BDD .
Bref, je ne crois pas avoir été très clair, je vous montre mon code, il ne marche pas et me crée même une erreur d'header (et je ne vois pas ce que ca vient faire là!) :
[php]if (isset($_COOKIE["livreorsecuritycenter"])) { $deja_poste = 1; }
if (isset($_POST['pseudo']) AND isset($_POST['message']) )
{
$pseudo = htmlentities($_POST['pseudo'], ENT_QUOTES); // On utilise htmlentities par mesure de sécurité
$message = htmlentities($_POST['message'], ENT_QUOTES); // De même pour le message
$message = nl2br($message); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />
$expire = 2*24*3600; // on définit la durée du cookie, 1 an
setcookie("livreorsecuritycenter","dejaposte",time()+$expire); // on l'envoi
if (strlen($_POST['pseudo']) >= 3 AND strlen($_POST['message']) >= 5 AND $deja_poste != 1) {
// On peut enfin enregistrer :o)
mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "')");
} else {
echo '<b><br>';
echo '<font color=red>Vous devez entrer un pseudo ou un message plus long !</font>';
echo '</b><br>';
}
}[/php]
Erreur :
[quote]Warning: Cannot modify header information - headers already sent by (output started at /home/security/public_html/v2_azertyuiop/livreor.php:16) in /home/security/public_html/v2_azertyuiop/livreor.php on line 59[/quote]
Et on peut encore flooder ... Merci d'avance pour votre aide :wink: