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 :

Protection contre balise


Sujet :

Langage PHP

  1. #1
    Membre éclairé Avatar de PIEPLU
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    507
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 507
    Par défaut Protection contre balise
    Bonjour,

    A l'affichage de données de mes membres, je voudrais bloquer les petits malins qui ont mis des balises genre <script> mais pas les liens ou img.

    Est ce que cela est possible de bloquer que certaines ?

    Merci

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Utilise strip_tag avec des exceptions (2nd paramètres)
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre éclairé Avatar de PIEPLU
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    507
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 507
    Par défaut
    Je n'ai pas accès à la doc.

    Ca fonctionne comme ca ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php strip_tags($_POST['contenu'], '<a>') ?>
    On peut mettre plusieurs balises ?

    Merci

  4. #4
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 517
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 517
    Par défaut
    Citation Envoyé par PIEPLU Voir le message
    Je n'ai pas accès à la doc.

    sinon :
    Exemple #1 Exemple avec strip_tags()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
    echo strip_tags($text);
    echo "\n";
     
    // Autorise <p> et <a>
    echo strip_tags($text, '<p><a>');
    ?>
    L'exemple ci-dessus va afficher :
    Test paragraph. Other text
    <p>Test paragraph.</p> <a href="#fragment">Other text</a>
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  5. #5
    Membre éclairé Avatar de PIEPLU
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    507
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 507
    Par défaut
    En fait, je pense qu'il faut voir le problème dans l'autre sens.
    J'ai des personnes qui ajoute des tags comme <3 et j'aimerais les garder.

    En gros, je voudrais bloquer les balises comme <script>

    Vous avez une idée ?

  6. #6
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 517
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 517
    Par défaut
    Code Php : Sélectionner tout - Visualiser dans une fenêtre à part
    strip_tags($text, '<script>');
    ?
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  7. #7
    Membre expérimenté Avatar de stephanegib2
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2011
    Messages : 152
    Par défaut
    strip_tags() tente de retourner la chaîne str après avoir supprimé tous les octets nuls, toutes les balises PHP et HTML du code.
    en gros si quelqu'un met une balise <script> dans son texte, et que ton code contient ceci : strip_tags($text, '<script>'); comme ta conseillé Doksuri, la balise sera enlevée. A part si ce n'est pas sa que tu veut.

  8. #8
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Citation Envoyé par stephanegib2 Voir le message
    strip_tags() tente de retourner la chaîne str après avoir supprimé tous les octets nuls, toutes les balises PHP et HTML du code.
    en gros si quelqu'un met une balise <script> dans son texte, et que ton code contient ceci : strip_tags($text, '<script>'); comme ta conseillé Doksuri, la balise sera enlevée. A part si ce n'est pas sa que tu veut.
    C'est le contraire : strip_tags($text, '<script>') va supprimer tout sauf la balise script ...
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre expérimenté Avatar de stephanegib2
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2011
    Messages : 152
    Par défaut
    Oui effectivement, autant pour moi. Il va supprimer toutes les balises html et PHP et va laisser la balise <script>.

    Dans ce cas tu peut faire str_replace('<script>' ,'',$text);

  10. #10
    Membre éclairé Avatar de PIEPLU
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    507
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 507
    Par défaut
    Oui, j'ai utilisé cette dernière solution finalement
    merci

  11. #11
    Membre émérite
    Avatar de amoiraud
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2006
    Messages : 606
    Par défaut
    Citation Envoyé par stephanegib2 Voir le message
    Oui effectivement, autant pour moi. Il va supprimer toutes les balises html et PHP et va laisser la balise <script>.

    Dans ce cas tu peut faire str_replace('<script>' ,'',$text);
    Pas très efficace si on tente ce genre de trucs :
    <scr<script>ipt>alert('test')</scr</script>ipt>

    Ou même :
    <script type="text/javascript">alert('test')</script>

    C'est pour ca qu'il faut toujours privilégier les listes blanches aux listes noirs, et ne pas oublier que les balises les plus annodines peuvent réserver des surprises :
    <img src="fake.jpg" onError="alert('test')" />

  12. #12
    Membre éclairé Avatar de PIEPLU
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    507
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 507
    Par défaut
    Ah merde, je suis perdu alors :S

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 12
    Par défaut
    Je crois que ce site http://htmlpurifier.org/ propose uns script?

  14. #14
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 517
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 517
    Par défaut
    Citation Envoyé par grunk Voir le message
    C'est le contraire : strip_tags($text, '<script>') va supprimer tout sauf la balise script ...
    ah oui... bien vu... j'ai machinalement repondu ca sans reflechir ... shame on me
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

Discussions similaires

  1. Protection contre les SQL Injections ?
    Par kedare dans le forum JDBC
    Réponses: 9
    Dernier message: 05/05/2010, 11h42
  2. Programme de protection contre le déni de service
    Par EJ dans le forum Développement
    Réponses: 7
    Dernier message: 03/07/2009, 23h14
  3. La meilleure protection contre le piratage des logiciels ?
    Par iubito dans le forum Débats sur le développement - Le Best Of
    Réponses: 184
    Dernier message: 23/12/2008, 14h35
  4. [Sécurité] Protection contre le spam
    Par lhpp dans le forum Langage
    Réponses: 3
    Dernier message: 20/09/2006, 11h31
  5. PROTECTION CONTRE LES ASPIRATEURS DE SITE
    Par squalito dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 19/01/2005, 15h06

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