Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/06/2006, 09h45   #1
Membre éprouvé
 
Avatar de babastutz
 
Inscription : décembre 2005
Messages : 943
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 943
Points : 423
Points : 423
Par défaut [Sécurité] Livre d'or php spammé

Bonjour !!

J'ai créée un livre d'or en php qui enregistre les messages dans une bdd. Le problème c'est que maintenant des ptits malin s'amuse à spammer mon livre d'or en mettant des pub qui font c**** le monde. J'aimerais savoir quelles solutions s'offre à moi pour les contrer. Prendre les IP et faire un code qui bloque des IP ?
babastutz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2006, 09h48   #2
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
oui, ou bien faire un système de modération : tu dois valider les entrées avant qu'elles s'affichent sur le site.
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2006, 11h18   #3
Membre régulier
 
Inscription : décembre 2005
Messages : 305
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 305
Points : 86
Points : 86
Par défaut rep

Fonction permettant de censurer une adresse IP, qui sont parfois garder en mémoire dans les sytèmes d'anti-spam de forums ou de livre d'or...
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
<?php
 
function censureIp($ip)
{
  $ereg = "([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})";
  return ereg_replace($ereg, "\\1.\\2.\\3.***", $ip);
}
 
// Utilisation
$ip = $REMOTE_ADDR;
 
$ip_censuree = censureIp($ip);
echo $ip_censuree;
 
// Retournera par exemple: 87.51.256.***
 
?>
carmen256 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2006, 08h31   #4
Membre éprouvé
 
Avatar de babastutz
 
Inscription : décembre 2005
Messages : 943
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 943
Points : 423
Points : 423
Au lieu de recréer une table pour les IP et de faire tout le code pour les récupérer et les bloquer, j'ai penser tout simplement bloquer les messages contenant la balise <a> car c'est celle-là que les spammeurs préfèrent.

Bonne ou mauvaise idée ?
babastutz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2006, 12h37   #5
Futur Membre du Club
 
Inscription : février 2005
Messages : 23
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 23
Points : 19
Points : 19
Envoyer un message via ICQ à shoryu-ken Envoyer un message via MSN à shoryu-ken
si tes spameurs sont des "bots" met une fonction randomd e 1 à 26 associé à une lettre (si possible evite une logique 1=a) et genere un "mot" aléatoirement et demande à l'utilisateur de recopier ce mot à chaque reply chose qu'un bot aura de la peine à faire
shoryu-ken est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2006, 12h48   #6
Membre éprouvé
 
Avatar de babastutz
 
Inscription : décembre 2005
Messages : 943
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 943
Points : 423
Points : 423
Non je trouve sa vraiment embêtant pour l'utilisateur. Je déteste devoir faire ça alors je ne vais pas l'imposer. Dans tous les messages que j'ai reçu, il y avait des balise de lien <a> Donc j'ai décidé de bloquer tous les messages qui en contiennent. De toute façon j'ai désactivé le code html dans mon livre d'or alors personne ne se plaindra.
babastutz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2006, 12h51   #7
Him
Membre régulier
 
Avatar de Him
 
Inscription : février 2006
Messages : 244
Détails du profil
Informations personnelles :
Âge : 27
Localisation : Belgique

Informations forums :
Inscription : février 2006
Messages : 244
Points : 79
Points : 79
Envoyer un message via ICQ à Him
Pourquoi n'interdis tu pas tout simplement l'usage du html par le visiteurs

grâce à la fonction htmlentities
Code :
1
2
3
 
$message = htmlentities ($_POST['message']);
$pseudo = htmlentities ($_POST['pseudo']);
(qui plus est renforcera la sécurité de ton script )
Car une personne malicieuse pourait dans l'état actuel executer n'importe quel script sur ton serveur & en prendre le contrôle

2eme solution : Ajouter un code de verification image avant l'envoi du message qui empechera donc le "robot" de poster.
Him est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2006, 12h56   #8
Membre éprouvé
 
Avatar de babastutz
 
Inscription : décembre 2005
Messages : 943
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 943
Points : 423
Points : 423
Ce que j'ai fait c'est que j'ai remplacer les caractères "<" et ">" utilisées pour les balises par "&lt;" et "&gt;", ainsi si quelqu'un essai de mettre du code html il ne fonctionnera pas.
babastutz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h12.


 
 
 
 
Partenaires

Hébergement Web