Sécurité dans messages

m2rtech Messages postés 239 Date d'inscription mercredi 9 octobre 2002 Statut Membre Dernière intervention 20 février 2012 - 8 août 2008 à 18:11
audayls Messages postés 373 Date d'inscription samedi 9 juillet 2005 Statut Membre Dernière intervention 11 août 2008 - 11 août 2008 à 13:45
Bonjour,

je suis actuellement victime depuis deux jours d'un individu
qui laisse des messages de lien type :
[ Votre message contient des caractères non autorisés ! ]";}

mais cela ne marche pas !
quelle est la bonne synthaxe ?

merci

8 réponses

Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
8 août 2008 à 19:31
Bonjour,

si tu veux simplement supprimer les messages qui contiennent un lien, utilise simplement strpos( ) :

if(strpos('a href', $_POST['Message']) !== false){
    ne pas enregistrer le message
}

cf php.net pour plus de détails sur cette fonction .

à+
0
Renus02 Messages postés 182 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 22 octobre 2010
8 août 2008 à 23:13
salut,

ya la fonction strip_tags() qui peut etre sympa aussi elle supprime les balises des chaines de caractere
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
9 août 2008 à 11:05
Les messages de spam sur ton site, tu les enlèves, tu ne te contentes pas d'effacer leurs balises...
0
audayls Messages postés 373 Date d'inscription samedi 9 juillet 2005 Statut Membre Dernière intervention 11 août 2008
10 août 2008 à 14:43
Salut,

Le lien d'un spam on s'en fiche, on n'en veut pas du tout du spam XD Impossible donc d'utiliser un "strip_tags", comme le dit Evangun.

Le problème avec la fonction "str_pos" c'est qu'il suffit que le lien soit de la forme "<?php
if (preg_match('`

For every choice, a consequence (Fable)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
10 août 2008 à 14:51
Oui ça marche aussi :) mais rien que pour économiser les ressources d'un preg, moi je supprimerais tout ce qui contient un "href" ou un "http" (des fois que le spammeur ne créerait pas de lien), quitte à les laisser plus tard s'ils étaient de vrais messages, et puis voilà ^^
Pour ceux qui ne connaissent pas, il y a aussi Akismet qui se charge de trier les messages.
à+
0
m2rtech Messages postés 239 Date d'inscription mercredi 9 octobre 2002 Statut Membre Dernière intervention 20 février 2012
11 août 2008 à 10:58
Merci pour vos intervantions.
en réponse à Renus02,
si on part du principe qu'un message frauduleux n'est pas souhaitable
il est à mon avis inutile de vouloir le nettoyer. il EST A SUPPRIMER .
ceci dis je ne connaissait pas la fonction et elle me sera utile en d'autres temps
merci donc
0
m2rtech Messages postés 239 Date d'inscription mercredi 9 octobre 2002 Statut Membre Dernière intervention 20 février 2012
11 août 2008 à 11:14
Bonjour
en réponse à Audayls

je pense en efffet que preg_match est la solution.
je n'ai pas réussi à le faire marcher comme tu le suggere.
entre temps j'ai réussi avec ce code mais quelle galère !!!!!!!!!!!!!!!!!!

elseif (preg_match('/<a href/i',($_POST['Message']))
or preg_match('/http/i',($_POST['Message']))
or preg_match('/URL=/i',($_POST['Message'])))

peux m'aider à réécrire ce code avec 1 seul preg_match ?

merci d'avance
0
audayls Messages postés 373 Date d'inscription samedi 9 juillet 2005 Statut Membre Dernière intervention 11 août 2008
11 août 2008 à 13:45
Je ne comprends pas quel est le problème je viens de tester. Ce code affiche bien "Message contenant un lien" :

<?php

$_POST['message'] = 'blablabla
[salut ! Bonjour !]hrtodrtdtr';

if (preg_match('`

For every choice, a consequence (Fable)
0
Rejoignez-nous