[Résolu-partiellement] Empêcher url dans un champ texte de formulaire - Version imprimable +- Forum CMS Made Simple FR (https://forum.cmsmadesimple.fr) +-- Forum : Général (https://forum.cmsmadesimple.fr/forum-3.html) +--- Forum : Modules, Tags (https://forum.cmsmadesimple.fr/forum-14.html) +--- Sujet : [Résolu-partiellement] Empêcher url dans un champ texte de formulaire (/thread-470.html) |
[Résolu-partiellement] Empêcher url dans un champ texte de formulaire - mabelle - 12/06/2010 Bonjour à tous, j'essaie de trouver la meilleur solution avec Made Simple pour empêcher une écriture de lien dans un champ texte. J'ai fait des recherches mais j'avoue me sentir un peu perdue et ne pas trop savoir où régler le problème... J'ai un simple formulaire dont les données s'inscrivent dans une bd avec formbuilder et ensuite les info de la bd s'inscrivent sur ma page avec formbrowser. Il y a un petit comique qui n'arrête pas d'envoyer l'url de pages très peu recommandables. J'aurais dû penser avant à la sécurité mais bon, maintenant que j'ai un problème j'y pense ! C'est quand même pas dramatique, en attendant, je le supprime à la main. Merci d'avance de votre aide Citation :#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~ [Résolu-partiellement] Empêcher url dans un champ texte de formulaire - Jean le Chauve - 12/06/2010 C'est à double tranchant, si tu interdis l'écriture d'url, plus personne ne pourra t'envoyer un lien. Si ce sont tout le temps les mêmes url que ton comique t'envoie, tu peux ajouter une tag refusant la validation si la valeur entrée est égale à une des urls prohibées. // Le "i" après le délimiteur du pattern indique que la recherche ne sera pas sensible à la casse if (preg_match("/siteDuComique/i", $_POSTdeTonChampTexte)) { refuser_ la_validation(); } [Résolu-partiellement] Empêcher url dans un champ texte de formulaire - mabelle - 12/06/2010 Bonjour Jean et merci pour ta réponse. Le formulaire en question est là comme pétition et donc, personne n'a à envoyer de lien. Seulement, nom, prénom, ville et pays. Le petit comique n'est pas fou, avec l'url, il poste toujours des caractères bidons et donc, pas moyen de faire de validation comme tu le proposes, à moins que l'on puisse valider : "si la valeur contient..." ? Voici à quoi ressemble ses post: aljhobiaude <a href="....."> jaaksdjfpo Comme je le disais, c'est juste chiant et facilement supprimable.... [Résolu-partiellement] Empêcher url dans un champ texte de formulaire - mabelle - 12/06/2010 Encore moi, comme je terminais mon dernier post, je suis retourné et le vilain avait encore sévit. Ce n'est pas la même url que les autres fois.... Il en a plusieurs et j'ai commencé à les prendre en note au cas où ça me servirait..... [Résolu-partiellement] Empêcher url dans un champ texte de formulaire - Jean le Chauve - 12/06/2010 Tu peux aussi tenter les logs serveur et voir s'il n'a pas un ip fixe. Si c'est le cas, interdit-le de séjour avec ton .htaccess. J'ai fait cela pour quelques domaine : ip russe, chinoises... [Résolu-partiellement] Empêcher url dans un champ texte de formulaire - mabelle - 12/06/2010 Re-bonjour Jean, c'est une bonne idée, je n'avais même pas réalisé qu'on avait un log qui nous permettait de voir l'ip de nos visiteurs.... Bon, je suis allé vérifié et j'ai pris en note une adresse ip qui je crois pourrais être la bonne... Mais faut quand même être certain de son coup non ? De toutes façons, je surveille ce qui se passe et je vais bien voir si c'est toujours la même adresse.... Merci pour les bons conseils, A+ [Résolu-partiellement] Empêcher url dans un champ texte de formulaire - bess - 14/06/2010 l'IP sera un court répis je serais plus tenté d'intégré une balise qui filtrerais les message contenant des regex type "<a" et effectuerait des requêtes de suppression à la volée aucun affichage et une suppression au passage [Résolu-partiellement] Empêcher url dans un champ texte de formulaire - mabelle - 14/06/2010 Bonjour Bess, Oui c'est une idée et on fait ça comment ? Peux-tu me donner une piste ? Sinon, je vais peut-être laissé aller. C'est une pétition que je gère bénévolement et je vais choisir la solution la plus simple et me demandant le moins de temps.... Merci [Résolu-partiellement] Empêcher url dans un champ texte de formulaire - bess - 14/06/2010 CONNAISSANCES REQUISES : PHP / SQL / CMSMS habitué sans te faire l'UDT complet mais en restant ultra simple delete from ma_table_pétition where mon_message like '%<a%' ou delete from ma_table_pétition where mon_message like '%<a%' ca dépend de comment est enregistré le message de ton sondage : vérifie en bdd. dans une UDT tu te connect à la BDD (cherche 5 minute sur le forum pour ca, on en parle toutes les semaines) tu exécute la requête du dessus en personnalisant le nom de table + nom de colonne tu enregistre ton UDT tu fait appel à ton UDT depuis la page qui liste les résultats, du coup au chargement de la page il va supprimer les merdes PUIS afficher la liste (épurée) [Résolu-partiellement] Empêcher url dans un champ texte de formulaire - mabelle - 14/06/2010 Re-bonjour Bess, Bon, j'ai quelques bases mais je devrai "gosser" un peu (comme on dit ici au Québec) et me documenter. Je crois pouvoir y arriver. Je prends en note les info que tu m'as donné et je vais voir ce que je vais décider de faire... Merci pour ton aide toujours bien appréciée ! [Résolu-partiellement] Empêcher url dans un champ texte de formulaire - Jean le Chauve - 14/06/2010 bess a écrit :l'IP sera un court répisPas bon, tu supprimeras tous les messages contenant la balise <a, y compris ceux des clients qui veulent faire part de leur adresse internet. [Résolu-partiellement] Empêcher url dans un champ texte de formulaire - bess - 14/06/2010 yep mais : Citation :Le formulaire en question est là comme pétition et donc, personne n'a à envoyer de lien. Seulement, nom, prénom, ville et pays.pas d'url attendue, ma méthode est bonne [Résolu-partiellement] Empêcher url dans un champ texte de formulaire - Jean le Chauve - 15/06/2010 Exact Bess. Ça m'était sorti de la tête. Une regex de validation serait plus appropriée : pourquoi mettre en table pour l'effacer après ? if (preg_match("#<#U", $_POSTdeTonChampTexte)) { refuser_ la_validation(); } Ainsi toute entrée avec le caractère "<" refusera la validation. Il y a encore la technique du champ qui doit rester vide. |