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 :

Router et Filtre à URL


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Urbaniste
    Inscrit en
    Mai 2018
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Mai 2018
    Messages : 275
    Points : 98
    Points
    98
    Par défaut Router et Filtre à URL
    Bonjour

    Je travaille sur un petit router. Tout pointe vers l'index puis je dois traiter (router) les url.

    1ere étape ne jamais faire confiance. Puisque je vais récupérer mon URL et que tout le monde peut y taper n'importe quoi il faut donc que je la filtre.

    Ca c'est la théorie.... mais en pratique

    Je récupère mon URL avec $_SERVER["REQUEST_URI"] bon choix ? ou solution alternative ???

    Si dans mon URL j'ajoute
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <script>alert(document.cookie)</script>

    Si j'affiche l'url

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo ( $_SERVER["REQUEST_URI"] );
    j’obtiens

    "/%3Cscript%3Ealert(document.cookie)%3C/script%3E"
    Si avant je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    filter_var( $url  , FILTER_SANITIZE_STRING )
    J'obtiens toujours

    "/%3Cscript%3Ealert(document.cookie)%3C/script%3E"
    Donc soit cela ne sert a rien de filtrer $_SERVER["REQUEST_URI"].

    Soit c'est le filtre qui n'est pas adapté

    Soit je ne comprends pas l'utilité du filtre.

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    pour sécuriser une données, il faut vérifier qu'elle contient uniquement le contenu autorisé.
    pour votre exemple, je suppose que la variable ne peux contenir qu'un des fichiers utilisé par le routeur.

    or avec la fonction "filter" vous retirez uniquement les balises (https://www.php.net/manual/fr/filter...s.sanitize.php). donc vous ne vérifier pas le contenu.
    un test à faire serait d'avoir une liste des différents URL possibles et de tester si l'URL demandé est bien dans la liste.

  3. #3
    Membre régulier
    Homme Profil pro
    Urbaniste
    Inscrit en
    Mai 2018
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Mai 2018
    Messages : 275
    Points : 98
    Points
    98
    Par défaut
    Merci pour les info.

    Il y a un truc que je ne comprend pas c'est que je filtre $_SERVER["REQUEST_URI"] ou pas avec filter_var().

    J'obtiens la même chose, on dirait que $_SERVER["REQUEST_URI"] filtre déjà tout seul ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Proverbe du jour :
    "Ça ne sert à rien de mettre des bretelles et une ceinture si tu ne sais pas enfiler ton pantalon..."
    1- Les filtres ne sont pas des baguettes magiques.
    Ils font ce qu'ils sont prévus de faire. Pas plus.

    2- voir :
    • urlencode() / urlencode()
    • FILTER_SANITIZE_URL / FILTER_SANITIZE_ENCODED
    • strip_tags()

    3- Comme l'évoque mathieu, c'est à toi de savoir quelles URLs sont "acceptables", et ce qui ne l'est pas.
    Ensuite tu vérifies/filtres en fonction de tes critères.
    Dernière modification par rawsrc ; 31/10/2019 à 08h36.

Discussions similaires

  1. prevent ajax sur un filtre url
    Par xoum89 dans le forum Spring Web
    Réponses: 0
    Dernier message: 12/12/2013, 10h04
  2. router vers une URL à partir d'un popup
    Par gimnar dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 07/07/2012, 20h56
  3. Filtre URL Javascript
    Par Poulain dans le forum Langage
    Réponses: 4
    Dernier message: 06/09/2011, 22h35
  4. URL Rewriting via un filtre ISAPI
    Par CREZ59 dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 21/08/2007, 15h11
  5. Un filtre de l'URL
    Par djamal_internet dans le forum C++
    Réponses: 1
    Dernier message: 27/06/2006, 22h29

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