Sécurité dans messages

Signaler
Messages postés
239
Date d'inscription
mercredi 9 octobre 2002
Statut
Membre
Dernière intervention
20 février 2012
-
Messages postés
373
Date d'inscription
samedi 9 juillet 2005
Statut
Membre
Dernière intervention
11 août 2008
-
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

Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
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 .

à+
Messages postés
182
Date d'inscription
jeudi 20 mai 2004
Statut
Membre
Dernière intervention
22 octobre 2010

salut,

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

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)
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
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.
à+
Messages postés
239
Date d'inscription
mercredi 9 octobre 2002
Statut
Membre
Dernière intervention
20 février 2012

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
Messages postés
239
Date d'inscription
mercredi 9 octobre 2002
Statut
Membre
Dernière intervention
20 février 2012

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
Messages postés
373
Date d'inscription
samedi 9 juillet 2005
Statut
Membre
Dernière intervention
11 août 2008

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)