Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
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 30/03/2007, 12h23   #1
Membre du Club
 
Avatar de Shandler
 
Inscription : février 2005
Messages : 485
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 485
Points : 67
Points : 67
Par défaut Empêcher l'apparition de liens

Bonjour,

J'aurais une question comment pourrais-je interdire à quelqu'un d'enregistrer une url (http://www.fdfd.com) et de mettre aussi les href dans une bdd via un formulaire.

Ps : j'ai essayé avec les expressions régulières m'ais j'ai beaucoup de mal avec ça.

Merci à vous.
Shandler est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 13h25   #2
Rédacteur/Modérateur
 
Avatar de N1bus
 
Inscription : janvier 2003
Messages : 2 018
Détails du profil
Informations personnelles :
Âge : 47
Localisation : France, Charente Maritime (Poitou Charente)

Informations forums :
Inscription : janvier 2003
Messages : 2 018
Points : 1 992
Points : 1 992
Bonjour, je n'ai pas trés bien compris ta question :

C'est quoi "empecher quelqu'un d'enregistrer une URL" ? A quoi c'est censé servir ?

C'est quoi de "mettre des href dans une BDD via un formulaire" ?

Tu souhaites que ton site ne soit pas indexé par les robots ?
Tu veux restreindre l'accés ?


Merci de tes précisions.
N1bus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 13h46   #3
Membre du Club
 
Avatar de Shandler
 
Inscription : février 2005
Messages : 485
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 485
Points : 67
Points : 67
Voilà je m'explique donc j'ai un livre d'or mais dans ce livre j'aimerais pouvoir éviter l'ajout de lien que ce soit vers un site ou autre donc voilà pourquoi je veux interdire ça.

Merci
Shandler est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 13h51   #4
Membre du Club
 
Inscription : mars 2007
Messages : 123
Détails du profil
Informations personnelles :
Localisation : France, Côte d'Or (Bourgogne)

Informations forums :
Inscription : mars 2007
Messages : 123
Points : 67
Points : 67
$contenu = htmlentities($_POST["contenu"]);

ça te sécurisera ton site et empêchera les liens vers d'autres sites !
jpean.net est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 13h59   #5
Membre du Club
 
Inscription : mars 2007
Messages : 63
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 63
Points : 49
Points : 49
Par défaut ou

sinon tu utilisera la fonction htmlspecialchars() qui remplace <et > " é & ... et tous les caractéres spéciaux par leurs codes html . Utilisation :
Code :
1
2
 
$message=htmlspecialchars($_POST['message']) ;
cava ?
helww est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 14h12   #6
Membre du Club
 
Inscription : mars 2007
Messages : 123
Détails du profil
Informations personnelles :
Localisation : France, Côte d'Or (Bourgogne)

Informations forums :
Inscription : mars 2007
Messages : 123
Points : 67
Points : 67
Je donne des conseils et je sais pas tout

c'est quoi la différence entre htmlentities() et htmlspecialchars() ?
jpean.net est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 14h54   #7
Membre du Club
 
Avatar de Shandler
 
Inscription : février 2005
Messages : 485
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 485
Points : 67
Points : 67
je suis d'accord avec htmlentities($_POST["contenu"]);

Mais voila quand on l'utilise ca donne ca :

Code :
1
2
3
4
 
$valeur = "<a href=http:\\www.fdfd.fr>essai<a/>";
 
echo htmlentities($valeur); //Affiche <a href=http:\www.fdfd.fr>essai<a/>
Et moi dans l'affiche du livre dor je veux meme pas qu'il y est ca d'affiché <a href=http:\www.fdfd.fr>essai<a/> faut que tous ce qui soit lien ou autre soit interdit a l'affichage et donc a l'enregistrement en BDD.

Merci
Shandler est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 15h00   #8
Membre du Club
 
Inscription : mars 2007
Messages : 123
Détails du profil
Informations personnelles :
Localisation : France, Côte d'Or (Bourgogne)

Informations forums :
Inscription : mars 2007
Messages : 123
Points : 67
Points : 67
en fait, htmlspecialchars() suprime purement et simplement les balises html, c'est bien ça ?
jpean.net est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 15h11   #9
Membre du Club
 
Avatar de Shandler
 
Inscription : février 2005
Messages : 485
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 485
Points : 67
Points : 67
Oui mais non ce que j'essaie de faire c'est d'interdire purement et simplement l'insertion d'adresse web quelqu'elle soit.

Merci
Shandler est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 15h18   #10
Membre du Club
 
Inscription : mars 2007
Messages : 123
Détails du profil
Informations personnelles :
Localisation : France, Côte d'Or (Bourgogne)

Informations forums :
Inscription : mars 2007
Messages : 123
Points : 67
Points : 67
dans ce cas, cherche du coté des :

Code :
1
2
3
4
5
6
7
8
9
10
11
 
str_relace($contenu, ".com", "");
str_relace($contenu, ".org", "");
str_relace($contenu, ".net", "");
str_relace($contenu, ".fr", "");
str_relace($contenu, "http://", "");
str_relace($contenu, "www", "");
str_relace($contenu, "/", "");
str_relace($contenu, ".php", "");
str_relace($contenu, ".htm", "");
str_relace($contenu, ".html", "");
sinon, perso, je vois pas comment faire
jpean.net est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 15h21   #11
Membre émérite
 
Avatar de ozzmax
 
Inscription : novembre 2005
Messages : 986
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2005
Messages : 986
Points : 863
Points : 863
Envoyer un message via MSN à ozzmax
oui mais comment tu veux savoir s'il s'agit d'une adresse web justement?
si tu supprime les balise html ca devient juste du texte sauf que
tu veux tester tout à savoir si c'est une adresse?

ainsi va falloir que tu trouve comment tester la différence entre
http://monsitebidon.com
www.monsitebidon.com
monsitebidon.com

ou des trucs qui peuvent provenir d'une phrase avec faute de frappe
je suis bien allé sur tonsite.comme tu me l'avais proposé

...
ca devient pesant non de de faire un algorythme de détecteur d'adresse url?
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être!
La position des Développeurs de developpez avec les explications
ozzmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 15h21   #12
Membre chevronné
 
Avatar de haltabush
 
Développeur Web
Inscription : avril 2005
Messages : 726
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2005
Messages : 726
Points : 790
Points : 790
Utilise strip_tags
haltabush est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 15h31   #13
Rédacteur/Modérateur
 
Avatar de N1bus
 
Inscription : janvier 2003
Messages : 2 018
Détails du profil
Informations personnelles :
Âge : 47
Localisation : France, Charente Maritime (Poitou Charente)

Informations forums :
Inscription : janvier 2003
Messages : 2 018
Points : 1 992
Points : 1 992
Bon allez, Cadeau :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
 
<?
 
//antispam n1bus
$Spam = array( "cialis",
"viagra",
"casino",
"porn",
"movie",
"anal",
"sex",
"fuck",
"invest",
"market",
"estate",
"financing",
"funds",
"properties",
"pussy",
"banners",
"cock",
"earnmoney",
"acquaintance",
"credit-card",
"blogspot",
"ecash",
"enlargement",
"enlarge",
"pills",
"breast",
"surgical",
"http",
"www");
//liste à compléter par vos soins
 
$xmessage = strtolower($Le_champ_du_formulaire_a_verifier);
$nb_spam = 0; 
 
foreach ($Spam as $value) { //on vérifie que la chaine ne contient pas de mots interdits
if (preg_match("/$value/i", $xmessage)) { $nb_spam ++;}
} 
 
if($nb_spam > 0){ echo "<b><font color='#FF0000'>SPAMMERS NOT ALLOWED</font></b>";}
 
else{ // pas de spam
// le reste du traitement du formulaire
}
 
?>
C'est une des protections que j'utilise sur certains de mes formulaires
N1bus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 16h06   #14
Membre du Club
 
Avatar de Shandler
 
Inscription : février 2005
Messages : 485
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 485
Points : 67
Points : 67
Merci beaucoup N1bus ton code ma bien aidé.
Shandler est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h46.


 
 
 
 
Partenaires

Hébergement Web