Tom's Guide > Forum > Programmation > Message intempestif sur mon livre d' or

Message intempestif sur mon livre d' or

Forum Programmation : Message intempestif sur mon livre d' or

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonjour auriez-vous un moyen de stopper ces messages intempestifs sur mon livre d' or:

http://ns23.hosteur.com/~bpzoom/in [...] e=livredor

J' en reçoit une dizaine chaque jour !

Merci d' avance !

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

utiliser htmlentities avant de le stocker dans une base:
http://php.benscom.com/manual/fr/f [...] tities.php

Répondre à coca25

Auriez vous une réponse plus claire ? Je me suis rendu sur le lien, je ne comprend rien ! Merci d' avance !

Répondre à gadjet62

Utilises htmlentities() dans le php, avant d'insérer les données dans la base...
Comme tu le vois, j'ai pu mettre du javascript qui ouvre une page d'idn automatiquement... On peut faire bien pire en js...

Répondre à Aurelgadjo

Gadjet62 je vais essayer de te parler en termes humains, car sans vouloir vexer personne j'ai l'impression que les autres n'ont pas compris ta demande.

D'abord dis-moi, le livre d'or que tu as sur ton site, tu n'as rien du installer toi-même n'est ce pas ? C'est ton hebergeur qui te l'a proposé ?
Si c'est le cas, la seule réponse que je peux te donner est... de changer de livre d'or, car celui-là n'est pas du tout protégé et tu ne peux rien y faire (j'avais le même problème chez free, toujours pas résolu d'ailleurs).

Si ce n'est PAS le cas :

- tu as du installer toi-même un script PHP comme un grand, donne nous le nom du script et on te dira ce qu'il faut faire.
- tu as programmé le livre d'or toi-même en PHP, dans ce cas mets nous ton code ici afin qu'on puisse l'examiner et t'apporter une réponse ;). Voilà.


Message édité par glandeur le 28-01-2007 à 01:55:02
Répondre à glandeur

Voilà le script:

<?
require("config.inc.php3" );

foreach ($_REQUEST as $key => $val) {
$$key = $val;
}


if($_GET['topic']=='form') // on affiche le formulaire
{
echo "<center><font face=\"$face\" color=\"$color\" size=\"2\"><b>Ajouter un message au Livre d'or</b></font></center><br>";
echo "<form method=\"POST\" action=\"$index"."$signe"."topic=poster\">\n";
echo "<input type=\"hidden\" name=\"topic\" value=\"poster\">\n";
echo "<center><input type=\"\" name=\"nom\" size=\"30\" value=\"votre nom\"></center><br>\n";
echo "<center><textarea name=\"message\" rows=\"12\" cols=\"36\" wrap=\"virtual\">votre message ...</textarea></center>\n";
echo "<center><input type=\"submit\" name=\"submit\" value=\"Poster le message ...\"></center>\n\n";
echo "</form>";
echo "<center><font face=\"$face\" color=\"$color\" size=\"2\"><b><a href=\"$index\"><< Retour au Livre d'or</a></b></font></center>\n";
echo "<hr size=1 width=\"310\">\n";
}
elseif($topic=='poster') // on poste les infos du formulaire
{
if(empty($nom) OR empty($message) OR $nom=='votre nom' OR $message=='votre message ...')
{
echo "<center><font face=\"$face\" color=\"$col_alert\" size=\"2\"><b>Erreur dans les champs !</b></center><br>\n";
echo "<center><a href=\"Javascript:history.back()\"><< Merci de retourner au formulaire</a></font></center>\n";
}
else
{
$db = mysql_connect("$host", "$login", "$password" );
mysql_select_db("$base",$db);

$date = date("d-m-Y" );
$heure = date("H\hi" );

$message = addslashes($message);
$nom = addslashes($nom);

mysql_query("INSERT INTO goldenbook_tbl VALUES('','$nom','$message','$date','$heure')" );
mysql_close();

Header("Location: $index" );
}
}
else // on affiche le livre d'or
{
$db = mysql_connect("$host", "$login", "$password" );
mysql_select_db("$base",$db);

if($limit==''){ $limit = 0; }

$count_req = mysql_query("SELECT id FROM goldenbook_tbl" );
$count = mysql_numrows($count_req);

$comptage_req = mysql_query("SELECT * FROM goldenbook_tbl ORDER BY id DESC LIMIT $limit, 10" );
$comptage = mysql_numrows($comptage_req);

echo "<center><font face=\"$face\" color=\"$color\" size=\"2\"><b>$count messages | ";
echo "<a href=\"$index"."$signe"."topic=form\">Ajouter un message</a> | ";
echo "<hr size=1 width=\"$width\">\n";

$i=0;
WHILE($i!=$comptage)
{
$nom = mysql_result($comptage_req,$i,"nom" );
$message = mysql_result($comptage_req,$i,"message" );
$date = mysql_result($comptage_req,$i,"date" );
$heure = mysql_result($comptage_req,$i,"heure" );

$message = stripslashes(stripslashes($message));
$nom = stripslashes(stripslashes($nom));

echo "<center><div align=\"center\">\n";
echo "<table width=\"$width\" bgcolor=\"$bgcolor\">\n";
echo "<tr><td bgcolor=\"$bgtitre\"><font face=\"$potitre\" color=\"$cotitre\" size=2>&nbsp;<b>$nom</b></font> <font face=\"verdana\" size=\"1\">($date à $heure)</font></td></tr>\n";
echo "<tr><td><font face=\"$pomessa\" color=\"$comessa\" size=2><blockquote>$message</font></td></tr>\n";
echo "</table></div></center><br>\n\n";

$i++;
}

// gestion des liens pages ----------------------------
$pages = $count / 10;
$pages = floor($pages);

if($count>10)
{
$footer = "Pages: <a href=\"$index"."$signe"."limit=0\"><b>index</b></a>\n";

if($count==40){ $i = 1; }else{ $i = 0; }

$comptage = 10;
$page_num = 2;
WHILE($i!=$pages)
{
if($limit==$comptage)
{
$footer .= " | <b>$page_num</b>\n";
$comptage += 10;
$page_num++;
$i++;
}
else
{
$footer .= " | <a href=\"$index"."$signe"."limit=$comptage\"><b>$page_num</b></a>\n";
$comptage += 10;
$page_num++;
$i++;
}
}
}

$reste = $count - $limit - 10;
$reste_limit = $limit + 10;

if($reste<=0)
{
$reste = "Fin des messages";
$avant = "";
$apres = "";
}
else
{
$reste = "10 affichés - Reste ";
$reste .= $count - $limit - 10;
$avant = "<a href=\"$index"."$signe"."limit=$reste_limit\">";
$apres = "</a>";
}

if($count==0)
{
$reste = "Le livre d'or est vide pour le moment";
$avant = "";
$apres = "";
}

echo "<center><font face=\"$face\" color=\"$color\" size=\"2\">[$avant"."$reste"."$apres]</font></center><br>\n";
echo "<center><font face=\"$face\" color=\"$color\" size=\"2\">$footer</font></center>\n";
echo "<hr size=1 width=\"$width\">\n";

mysql_close();
}
?>

Répondre à gadjet62

il faut remplacer ca:

Code :
  1. $message = addslashes($message);


par

Code :
  1. $message = htmlentities ($message, ENT_QUOTES);


ca n'arrêtera peut etre pas les messages mais enlevera leur interet et ceux qui les envoient se lasseront

Répondre à coca25

Sinon il existe des scripts qui integrent des methodes pour stopper le "spam" des formulaires. Faut chercher un peu sur le net.

Répondre à glandeur
Tom's Guide > Forum > Programmation > Message intempestif sur mon livre d' or
Aller à :

Il y a 618 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens