Partage
  • Partager sur Facebook
  • Partager sur Twitter

include et .htaccess

le include ne demande pas de mdp

Sujet résolu
    24 mai 2007 à 13:25:38

    salut!!

    J'ai deja eu du mal a régler le probleme du htaccess (lien absolu un peu bizar) et voila ke mon include dans ma page d'index passe outre mon .htaccess
    Voila les liens :

    Dossier protégé : http://amtelecoms.nerim.net/beta/docs/espace_client/ : le .htacces marche bien

    site web : http://amtelecoms.nerim.net/beta/ dans l'espace client, qui est le dossier protéger

    un bout fde code? je sais pas si c'est utile mais j'en met un pti bout :

    html:
            <li><a href="index.php?cote=partenaires" >Partenaires</a>
            <li><a href="index.php?cote=references" >Références</a>
            <li><a href="index.php?cote=clients" >Espace clients</a>
            <li><a href="index.php?cote=contacts" >Contacts</a>


    php:

            //variable égale à CLIENTS : inclusion du fichier contenant la page clients.php
            case 'clients':
            include 'docs/espace_client/clients.php';
            break;

            //variable égale à CONTACTS : inclusion du fichier contenant la page contacts.php
            case 'contacts':
            include 'includes/contacts.php';
            break;


    Donc en gros j'aurais besoin de mettre des droits dessus avec auth mdp + login.

    Merci pour toutes vos futures réponses...
    • Partager sur Facebook
    • Partager sur Twitter
      24 mai 2007 à 13:47:29

      Le htaccess ne protège que des accès directs aux répertoire.

      Si un utilisateur accède au fichier /index.php qui inclut un autre fichier /include/config.php, et que ton répertoire /include/ contient un htaccess, il ne sera pas pris en compte.

      En revanche, si l'utilisateur essaie d'accéder directement à /include/config.php, là le htaccess le bloquera.

      Explication ? Les include, tu as un contrôle dessus. C'est toi qui choisis quel fichier tu veux inclure. Donc on estime que tu sais ce que tu fais. En revanche, c'est l'utilisateur qui choisit la page qu'il veut afficher. Et là, le htaccess te permet d'interdire certaines pages (certains répertoires).

      Bref, il faut que tu changes de méthode. Par exemple, en mettant un lien directement vers ton répertoire espace client. Et c'est le fichier espace client qui incluera ce dont il a besoin (Le squelette de ta page html, par exemple).
      • Partager sur Facebook
      • Partager sur Twitter
        24 mai 2007 à 13:50:27

        C'est tout a fait normal que tu y ai accès comme ça: c'est toi qui inclut le document protégé.
        Ce que tu peut faire, c'est une redirection vers cette zone au lieu d'un include:
        header('Location: /beta/docs/espace_client/clients.php');
        exit;
        • Partager sur Facebook
        • Partager sur Twitter
          24 mai 2007 à 13:57:27

          Ah oké!!!

          Merci pour l'explication du pkloi du comment...

          Mais je n'ai pas compris :

          header('Location: /beta/docs/espace_client/clients.php');
          exit;

          Je ne suis aps tres bon ... mdr
          • Partager sur Facebook
          • Partager sur Twitter
            24 mai 2007 à 13:59:42

            Tu me ton code header avant tout code html et une redirection automatique s'en suivra :)
            • Partager sur Facebook
            • Partager sur Twitter
              24 mai 2007 à 14:05:56

              le code header : header('Location: /beta/docs/espace_client/clients.php');
              je le copie colle?

              et je met ou le fait que quand on clik sur espace clients sa ouvre ce fichier clients.php
              • Partager sur Facebook
              • Partager sur Twitter
                24 mai 2007 à 14:43:08

                Le header, c'est une fonction php qui te permet (entre autre) de rediriger l'utilisateur vers la page de ton choix. Mais ici, c'est un peu idiot : Autant mettre un <a href="espaceclient/index.php"> directement dans ton menu.
                • Partager sur Facebook
                • Partager sur Twitter
                  24 mai 2007 à 14:46:23

                  ouais mai je voudrai kelle soit incluse dans ma page deja : sa evite de tout refaire entre le style et l'index
                  ou bien, vraiment au pire c'est tu comment l'intégrer dans un nbouvel onglet et pas dans une fenetre?
                  • Partager sur Facebook
                  • Partager sur Twitter
                    24 mai 2007 à 14:53:33

                    Tu ne t'en sortiras pas avec ton système actuel + un htaccess. Il faut soit gérer les droits en php (C'est mieux, de toutes façons), soit changer ta structure de pages.

                    Personnellement, j'inclus les élements de html dans la page php, et non l'inverse. Ainsi, chaque page choisit exactement ce qu'elle fait, et c'est pas le squelette qui choisit. Et j'ai pas besoin de tout refaire à chaque nouvelle page (Juste ajouter une ligne dans chaque).
                    • Partager sur Facebook
                    • Partager sur Twitter
                      24 mai 2007 à 14:57:08

                      Je n'ai pas tout saisi.
                      Moi toutes mes extensions sont en php : j'inclus du php dans du php
                      Et puis je ne dois pas faire un site tres evoluer, il s'agit surtout de consultation, mais avec un esapce client auxquel on donne un mot de passe commun.
                      comme tu peux le voir je ne fais aps des trucs complexxe, je me prend aps la tete, j'essaye de le faire joli, aux normes le plus possible meme si j'ai beaucoup de mal. Donc gérer des droits en php, avoir une base SQL tout sa sa ne m'intéresse pas. C'est pas grave si je dois recommencer un index et un css pour lespace client, mais c'est dommage.
                      Mais merci tout le monde
                      • Partager sur Facebook
                      • Partager sur Twitter
                        24 mai 2007 à 15:11:08

                        Tu n'as pas à recommencer un css, il te suffit de changer l'ordre de tes include.

                        Ceci dit, au niveau de la structure d'un site, c'est mauvais d'avoir des fichiers "principaux" à différents niveaux de l'arborescence. Par exemple :

                        /index.php
                        /interface/style.css
                        /interface/squelette.html
                        /espace-client/index.php

                        Si tu fais include('interface/squelette.html'); à partir de ton /index.php, et si tu fais include('../interface/squelette.html'); tu n'auras pas de CSS dans l'un des deux cas (Alors que t'appelles le même fichier).

                        Donc :

                        - Soit tu mets tout à la racine (Ca marche un temps...)
                        - Soit tu mets tout dans un dossier (exemple : /index/index.php au lieu de /index.php, et sur /index.php tu rediriges vers /index/index.php... Tu me suis ? :p )

                        Et donc, au lieu d'avoir ta page principale qui inclus les autres, ce sont les autres qui appellent la page principale. Donc dans *chaque* fichier, tu as par exemple :

                        include('../interface/squelette.html');

                        Et le squelette html contient ton menu, ton css, etc. Pas besoin de le refaire, c'est toujours le même. Et de cette façons, tu peux avoir un .htaccess dans /espace-client/, et pas de .htaccess dans /index/
                        • Partager sur Facebook
                        • Partager sur Twitter
                          24 mai 2007 à 15:17:27

                          oulala!! lol sa y est tu as grillé les 2 neuronnes ke mon prof de linux mavait laisser... mdr
                          Je vais y reflechir trankilement.
                          Si j'ai bien suivi tu me conseille de faire en sorte que sa soit les pages ki apellent l'index avec son css plutot ke l'index ki apellent les pages.
                          En tout cas merci a toi c'est cool!!!!
                          • Partager sur Facebook
                          • Partager sur Twitter
                            24 mai 2007 à 15:27:20

                            Exactement (Sauf que du coup, c'est plus un index, mais un "squelette"... Appelons les choses par leur nom : l'index, c'est la page ouverte automatiquement lorsque tu arrives sur un site ou dans un dossier sans demander de page particulière).

                            Bref, exemple d'architecture efficace :

                            / => redirige vers /index.php (Redirection Apache, donc c'est automatique)
                            /index.php => redirige vers /index/index.php (Redirection php. Code : header('Location:index/index.php');
                            /index/ => Redirige vers /index/index.php (Redirection Apache)
                            /index/index.php : Page d'accueil de ton site. Génère son code et inclus /interface/squelette.html (include('../interface/squelette.html');)
                            /espace-client/ => Redirige vers /espace-client/index.php (Apache)
                            /espace-client/index.php : Page d'accueil de l'espace client. Page protégée. include('../interface/squelette.html');
                            /espace-client/.htaccess : Protège le répertoire

                            ! Attention ! Dans ton squelette html (Le menu, en particulier), tous les liens doivent être de la forme : "../index/index.php", "../espace-client/index.php". Si tu fais seulement "index.php", le comportement du lien dépendra de la page sur laquelle tu te trouves !
                            • Partager sur Facebook
                            • Partager sur Twitter
                              24 mai 2007 à 15:40:51

                              Super !!
                              Merci c'est vrai que sa fait bcp plus "propre".
                              Ta pas deux trois exemple de réalisation de site? ke je copie un peu :p !! non serieux, histoire de voir ce ke toi tu as fais
                              • Partager sur Facebook
                              • Partager sur Twitter
                                24 mai 2007 à 15:48:23

                                Chez moi seulement. Online, j'ai des sites "plats" (Tout est à la racine, sauf les forums (phpBB donc indépendants) et les include (config, etc). Mais depuis peu j'utilise cette structure, et c'est vrai que c'est beaucoup plus extensible (J'ai un site en production avec cette architecture, mais pas en ligne, et je suis pas chez moi ^^ )
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  25 mai 2007 à 9:32:45

                                  oké bah c pas grave!!! on se tien o courant, je reconnaitrais tonb serpent dans un autre forum! ALLez l'ol... mdr
                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  include et .htaccess

                                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                  • Editeur
                                  • Markdown