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 :

[Sécurité] protéger les variables $_SERVER


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    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 : 41
    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 [Sécurité] protéger les variables $_SERVER
    Bonjour, existe il une manière sûre d'utiliser les variable du type $_SERVER ?

    j'utilise entre autres $_SERVER['REQUEST_URI'] pour garder en mémoire la dernière page visitée et effectuer une action si la prochaine page chargée est différente mais il semblerais que certains utilisateurs arrive à outrepasser cette limitation.
    J'imagine que cela est possible en envoyant sa propre requête HTTP au server.

    Si rien n'est possible de ce coté là avez vous une solution fiable pour vérifier si la page courante est différente de la page précédente ? (mon but étant d'éviter le refresh auto d'une même page pour effectuer en boucle une action).

    Actuellement mon script est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    if(htmlentities($_SERVER['REQUEST_URI']) != $_SESSION['prevPage'])
    {
       //action car page chargée différente de la page précédente contenu dans $_SESSION
    }
    // J'enregistre la page actuelle
    $_SESSION['prevPage'] = htmlentities($_SERVER['REQUEST_URI'])
    ?>
    merci
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Il doit y avoir une erreur/confusion : la partie REQUEST_URI correspond au chemin de la ressource telle qu'elle a été demandée dans la requête HTTP. On ne peut donc pas la "réinventer". Ne vouliez-vous pas parler de HTTP_REFERER (marquant l'adresse de "provenance"), qui elle, n'est en effet, pas viable.

  3. #3
    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 : 41
    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
    Oui en effet je me suis un peu emmêler les pinceaux, j'avais fait de tête mon code de vérification qui pose problème. Voici la version exact :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if($_SESSION['PageActuelle']!='')
    	$referer = $_SESSION['PageActuelle'];
    else
            $referer = $_SERVER['HTTP_REFERER'];
     
    $_SESSION['PageActuelle'] = htmlentities('http://www.monsite.com'.$_SERVER['REQUEST_URI']);
    Il y'a donc bien un HTTP_REFERER qui lui semble être modifiable assez facilement.
    Y'a t'il une solution pour corriger ca ?

    Merci
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Non mais si c'est à but interne et absolument nécessaire, vous pouvez utiliser votre session à but de remplacement (c'est ce que vous semblez avoir fait).

  5. #5
    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 : 41
    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
    Donc au mieux je passe par REQUEST_URI que je stock en session plutôt que d'utiliser le HTTP_REFERER ?
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Oui si cela est nécessaire. Mais bien évidemment vous serez ici limités aux scripts de votre propre site.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/08/2011, 09h43
  2. Définir les variables $_SERVER
    Par berok37 dans le forum Apache
    Réponses: 3
    Dernier message: 12/01/2008, 12h16
  3. [Sécurité] Sécuriser les variables
    Par snyfir dans le forum Langage
    Réponses: 3
    Dernier message: 24/06/2007, 15h41
  4. [Sécurité] Peut on créer une variable $_SERVER
    Par Cr@zyDeep dans le forum Langage
    Réponses: 6
    Dernier message: 12/05/2006, 09h27
  5. [Sécurité] Ne pas afficher les variables de l'URL
    Par Wormus dans le forum Langage
    Réponses: 17
    Dernier message: 23/10/2005, 14h13

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