IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Empêcher l'apparition de liens


Sujet :

Langage PHP

  1. #1
    Membre éclairé Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    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.

  2. #2
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    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.

  3. #3
    Membre éclairé Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Par défaut
    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

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mars 2007
    Messages : 129
    Par défaut
    $contenu = htmlentities($_POST["contenu"]);

    ça te sécurisera ton site et empêchera les liens vers d'autres sites !

  5. #5
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 63
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $message=htmlspecialchars($_POST['message']) ;
    cava ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mars 2007
    Messages : 129
    Par défaut
    Je donne des conseils et je sais pas tout

    c'est quoi la différence entre htmlentities() et htmlspecialchars() ?

  7. #7
    Membre éclairé Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Par défaut
    je suis d'accord avec htmlentities($_POST["contenu"]);

    Mais voila quand on l'utilise ca donne ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mars 2007
    Messages : 129
    Par défaut
    en fait, htmlspecialchars() suprime purement et simplement les balises html, c'est bien ça ?

  9. #9
    Membre éclairé Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Par défaut
    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

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mars 2007
    Messages : 129
    Par défaut
    dans ce cas, cherche du coté des :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  11. #11
    Membre émérite
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Par défaut
    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?

  12. #12
    Membre émérite Avatar de haltabush
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    726
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 726
    Par défaut
    Utilise strip_tags

  13. #13
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Bon allez, Cadeau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  14. #14
    Membre éclairé Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Par défaut
    Merci beaucoup N1bus ton code ma bien aidé.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5.3] Empêcher l'accès aux liens vers doc pdf hors session
    Par Entrinque dans le forum Langage
    Réponses: 2
    Dernier message: 02/11/2010, 16h04
  2. [débutant] Liste déroulante et apparition de lien
    Par nicekiller dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 31/03/2009, 18h33
  3. Empêcher l'apparition de la barre d'outils Formulaire
    Par Ric21 dans le forum VBA Access
    Réponses: 2
    Dernier message: 07/07/2008, 16h32
  4. Réponses: 5
    Dernier message: 06/04/2007, 09h28
  5. Apparition d'un bloc de texte en fonction d'un survol de liens
    Par black is beautiful dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 01/04/2007, 19h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo