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é] Empêcher l'accès aux pages


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 28
    Points
    28
    Par défaut [Sécurité] Empêcher l'accès aux pages
    bonjour à tous,

    je sais que mon titre n'est pas très explicite sur mon problème mais g pas trouvé mieux.

    Ce que je voudrais c'est que l'on ne puisse pas accèder aux pages de mon site en tapant une partie de l'url. En gros quand on tape www.monSite.fr/articles on arrive directement sur une page qui demande un login et un mot de passe. mais si je tape www.monSite/articles/consulter j'arrive à la page index.php du dossier consulter et la je peux naviguer sans problème sur mon site.

    Y'aurait t'il un moyen de restreindre accès ou de rediriger les personnes qui tape l'url vers la page de login?

    d'avance merci

  2. #2
    naz
    naz est déconnecté
    Membre à l'essai
    Inscrit en
    Mai 2004
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 21
    Points : 24
    Points
    24
    Par défaut
    Je dirais que tu fais une page index.php avec un bon vieux header("Location: ./truc/identification.php");

  3. #3
    Membre averti Avatar de NeHuS
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 343
    Points : 316
    Points
    316
    Par défaut
    Salut benoit , moi aussi je suis de france euh de Nice jt'ai cassé


    Sinon pour ta question :avec un http referer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SERVER['HTTP_REFERER']
    tu testes si il vient bien d'article sinon tu fais un header('lapagederedirection.php');

    le seul probleme c'est que l'information est facilement modifiable ça reste toutefois une barriere

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 28
    Points
    28
    Par défaut
    oki pour le header, car une simple protection sera suffisante à moins que "http referer" soit assez simple à mettre en place. Pourriez vous m'éclairer sur l'endroit où je dois mettre ce header et sur ce que je dois taper.

    Pour info NeHus, il m'est arrivé de voyager et au moment ou j'ai créé mon compte j'étais ( je te le donne en mille) en france ...voila vous savez tout de moi

  5. #5
    Membre averti Avatar de NeHuS
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 343
    Points : 316
    Points
    316
    Par défaut
    Dans ta page www.monSite/articles/consulter/index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    $prout = $_SERVER['HTTP_REFERER'];
    if ($prout != "www.monSite/articles/index.php")
    {
    header('../index.php');
    }
    ?>

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 28
    Points
    28
    Par défaut
    oki, je viens de modifier mon code et ça ne change rien. je peux taper l'url de ma page de navigation dans mon site www.monSite.fr/articles/navigation.php et je tombe encore sur ma page de navigation sans souci.

    Je viens pourtant d'ajouter ce bout de code à la page navigation:
    <?php
    $pagePrecedente = $_SERVER['HTTP_REFERER'];
    if ($pagePrecedente != "www.monSite/articles/login.php")
    {
    header('../index.php');
    }
    ?>
    Je voudrais juste contrôler que l'utilisateur est bien passé par la page login avant de tomber sur la page navigation.php.

    PS: j'ai changé le prout (bien qu'il soit tout à fait élégant)

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 28
    Points
    28
    Par défaut
    kel imbécile..

    je n'avais pas rechargé ma page...mais maintenant c'est tout bon,

    il faut juste que je le fasse pour toutes mes pages

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 28
    Points
    28
    Par défaut
    me voila devant un nouveau problème.

    Le truc c'est que lorsque j'arrive sur ma page modificationDonnées.php je sélectionne la société dans un menu déroulant et je clique sur un bouton valider pour afficher les coordonnées de la société dans la MEME page. Donc si je lui dis de ne pas afficher la page si tu ne viens pas de la page précédente ca ne marche plus.

    Pouvez vous me dire comment faire sachant que j'ai déjà essayer de lui dire si tu viens de la page précédente ou si tu viens de cette page tu ne restreint pas l'acces.

    voici mon code
    <?php
    $pagePrecedente = @$_SERVER['HTTP_REFERER'];
    if (($pagePrecedente != "www.monSite.fr/articles/modifier_supprimer/11_choixOperationSociete.php")
    OR ($pagePrecedente != "www.monSite.fr/articles/modifier_supprimer/111_choixSocieteModifier.php"))
    {
    header('Location:www.monSite.fr/articles/index.php');
    }
    ?>

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 28
    Points
    28
    Par défaut
    Je suis désolé d'insister mais je ne trouve vraiment pas

    Auriez vous une idée pourquoi ca ne fonctionne pas?

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 28
    Points
    28
    Par défaut
    je viens de me rendre compte que l'utilisation d'un "ET" (&&) était plus judicieuse pour résoudre mon preoblême. Malgré cela je reste bloqué sur une autre page avec le meme genre de probleme.

    Mon code est le suivant
    <?php
    $pagePrecedente = @$_SERVER['HTTP_REFERER'];
    if (($pagePrecedente != "www.monSite.fr/articles/navigation.php")
    && ($pagePrecedente != "www.monSite.fr/articles/modifier_supprimer/operationReussie.php"))
    {
    header('Location:www.monSite.fr/articles/index.php');
    }
    ?>
    J'ai lu dans plusieurs article que la variable HTTP_REFERER était parfois vide ou encore érroné. Est-ce que ça pourrait etre mon cas?

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 28
    Points
    28
    Par défaut
    En fait ce n'est pas mon cas puisque je viens de faire un echo HTTP_REFERER et je retrouve bien le nom de ma page.

    une idée?

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 28
    Points
    28
    Par défaut
    je viens finalement de trouver une solution. Au lieu d'utiliser un && je suis passer par un || (ou) que j'avais mis au début d'ailleur car avec un &&, il suffisait qu'une des conditions soit fausse pour que tout soit faux.

    bon sinon voila ce que j'ai fait:
    <?php
    if ($_SERVER['HTTP_REFERER'] != "")
    {
    if (($_SERVER['HTTP_REFERER'] = "www.monSite.fr/articles/modifier_supprimer/operationReussie.php")
    ||($_SERVER['HTTP_REFERER'] = "www.monSite.fr/articles/navigation.php"))
    {}
    else{
    header('Location:www.monSite.fr/articles/index.php');
    }}
    ?>
    je test a présent en plus la variable $_SERVER['HTTP_REFERER'] pour savoir si elle existe.

    merci de mon aide et de la votre.

    A++

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 28
    Points
    28
    Par défaut
    en fait je suis retomber au début, la ou toutes les pages étaient en accès libre.



    je ne vois vraiment plus comment faire.

  14. #14
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 17
    Points : 19
    Points
    19
    Par défaut
    salut,

    bon moi je ne connais pas bien (et je n'utilise pas) le $_SERVER['HTTP_REFERER'].

    mais dans ton cas, pourquoi ne pas faire une vérification de l'authentification à chaque page sécurisée ?
    j'utilise un script d'authentificarion en php, et dans chaque page je fais un secure.php vérifie que l'id de session passé est bien conforme à la session en cours.
    sinon et ben je redirige avec un header vers la page de login...

    c'est ma méthode, mais je n'ai peut-etre pas bien compris ton problème...

    bonne journée

    jerome

  15. #15
    Membre averti Avatar de NeHuS
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 343
    Points : 316
    Points
    316
    Par défaut
    ouaip benoit tu pourrais faire ça aussi , creer un var de session sur ton index.php et tu test si cette var est presente sinon tu rediriges vers l'index

    parceque la je viens de voir ce que t as fait c'est normal que ça ne marche pas , tu fais un test en lui disant si tu viens de cette page ( c'est a dire la page que tu viens de visiter) alors c'est bon je te laisse passer...

    si tu envoies des formualires sur la meme page le httpreferer pose probleme c'est certain

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/07/2011, 09h40
  2. Sécurité d'accées aux pages html
    Par khalidlyon dans le forum Débuter
    Réponses: 3
    Dernier message: 24/10/2008, 11h30
  3. [Sécurité] accés aux pages protégées
    Par amine_smi dans le forum Langage
    Réponses: 3
    Dernier message: 10/04/2006, 18h55
  4. [TOMCAT] acces aux page jsp dans un autre repertoire
    Par yanagiba dans le forum Tomcat et TomEE
    Réponses: 8
    Dernier message: 16/08/2005, 06h48
  5. [Struts] Droits d'un user et gestion des accès aux pages
    Par PeteMitchell dans le forum Struts 1
    Réponses: 4
    Dernier message: 14/04/2004, 11h30

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