Interdire l'envoi d'un formulaire si html
tybmhi
Messages postés
217
Statut
Membre
-
macgawel Messages postés 676 Statut Membre -
macgawel Messages postés 676 Statut Membre -
Bonjour,
J'ai un mec qui m'envoie des messages avec du html dedans a partir d'un formulaire de mon site et qui pourri mon site. Le html apparait sous sa forme bute.
Comment éviter cela ? En php j'ai dejà mis ça pour le traitement du message:
$message = nl2br(htmlspecialchars($_POST['message']));
J'aimerai en fait carrement interdire l'envoi de formulaire au complet si dans le message on trouve des liens ou des adresse internet. Est-ce possible ?
Merci d'avance
J'ai un mec qui m'envoie des messages avec du html dedans a partir d'un formulaire de mon site et qui pourri mon site. Le html apparait sous sa forme bute.
Comment éviter cela ? En php j'ai dejà mis ça pour le traitement du message:
$message = nl2br(htmlspecialchars($_POST['message']));
J'aimerai en fait carrement interdire l'envoi de formulaire au complet si dans le message on trouve des liens ou des adresse internet. Est-ce possible ?
Merci d'avance
6 réponses
-
-
Merci beaucoup de ta réponse mais est-ce que tu peu m'en dire plus ? Je débute en création de site. C'est certainement pour cela que je dois être une proie facile pour les "pirates".
-
tu le mets de partout :
htmlentities($_post['user'])
htmlentities($_post['mot de passe'])
htmlentities($_post['message']) etc.. comme ca il ne pourra plus injecter de html -
Ok nickel mais est-ce correct :
$message = nl2br(htmlentities(htmlspecialchars($_POST['message']))); -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
-
Bonjour.
Exemple pour supprimer toutes les balises d'un texte :$search = array ("'<[\/\!]*?[^<?>]*?>'si"); // Supprime les balises HTML $replace = array (""); $texte = preg_replace($search, $replace, $texte);
Et si tu veux empêcher la validation en cas de saisie d'une balise :if ( preg_match ("'<[\/\!]*?[^<?>]*?>'si", $texte ) ) { die ('Merci de ne pas utiliser de balises html'); }
Ca devrait suffire pour un filtrage "de base".