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

Apache Discussion :

htaccess pas pris en compte


Sujet :

Apache

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Points : 54
    Points
    54
    Par défaut htaccess pas pris en compte
    Bonjour,

    Je découvre le .htaccess mais je ne parviens pas à l'utiliser. J'ai pourtant fait une manip simple:
    1-creation du .htaccess dans htdocs
    2-j'ai écrit ca et seulement ca dedans : "ErrorDocument 404 /index.php"
    3-je tape l'url http://localhost/mauvaisnomdepage

    et j'ai tout de même l'erreur 404 ??? gloups

    Une idée ?

    Merci à vous tous

    Em.

  2. #2
    Expert éminent sénior

    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
    Points : 17 777
    Points
    17 777
    Par défaut
    Mais la configuration d'Apache vous permet-elle d'utiliser cette directive dans un fichier .htaccess placé dans ce répertoire ? Sachant que cela requiert AllowOverride FileInfo (voir All).

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Points : 54
    Points
    54
    Par défaut
    Mais, j'ai fait une recherche justement sur le net pour savoir comment configurer apache mais je n'ai rien trouvé, comme je m'y suis prise ...
    Avez-vous un lien qui explique la config apache pour le htacess ?
    Merci

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    La configuration dont parle Julp se situe dans le fichier httpd.conf d'Apache. Il faut regarder s'il y a une directive AllowOverride à un endroit qui concerne htdocs. Si elle est à None, essaie en mettant All à la place, redémarre Apache et fait un test. Si tu ne sais pas trop parce qu'il y a plusieurs AllowOverride dans le fichier, poste un message en donnant ton fichier httpd.conf.

    Si jamais tu fais la manip et que ça change rien :
    Citation Envoyé par Emilie012 Voir le message
    et j'ai tout de même l'erreur 404 ??? gloups
    Peux-tu détailler ce point, s'il te plait ? Que tu aies une erreur 404, certes, mais que vois-tu sur ton écran ? S'agit-il de l'écran d'erreur 404 de base d'Internet Explorer ou est-ce autre chose ? Si tu utilises Internet Explorer pour tester, peux-tu aller dans les options Internet, onglet Avancé, décocher la case "Afficher les messages HTTP simplifiés", valider et recommencer le test. A ce moment-là, dis-nous ce qui est écrit à l'écran.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Points : 54
    Points
    54
    Par défaut
    ok j'ai compris ca marche maintenant si je tape un mauvais nom de page ca retourne bien à l'index.

    Mais pourquoi un .htaccess sécurise un site ? on a vraiment pas grand chose à mettre dedans
    Et puis faire un htpasswrd, oui je comprends le principe mais je n'arrive même pas à voir le mot de passe de ma base de donnée qui se trouve dans un des fichier php ... comment fons les autres pour voir le contenu d'un fichier php ???

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par Emilie012 Voir le message
    Mais pourquoi un .htaccess sécurise un site ? on a vraiment pas grand chose à mettre dedans
    Un fichier .htaccess n'est spécialement fait pour sécuriser un site. Par exemple, dans ton cas, tu dis simplement que quand il y a une erreur 404, plutôt que d'afficher une page générique, tu demandes à Apache d'afficher /index.php. Un .htaccess c'est fait pour définir différents paramètres de configuration Apache en fonction de l'endroit où tu te trouves dans le docroot. Un .htaccess porte sur le répertoire dans lequel il se trouve + tous les sous-répertoires. C'est pas très clair, ce que je dis, alors on va prendre un exemple : dans le répertoire racine, tu mets ton .htaccess avec ton ErrorDocument 404 ... Ca, ça dit à Apache : "pour le répertoire où se trouve le .htaccess et pour tous les sous-répertoires (donc tout le site), affiche telle page quand tu rencontres une erreur 404, i.e. lorsque tu ne trouves pas la page qu'on demande". Maintenant, tu peux mettre dans une sous-répertoire un .htaccess avec la configuration qui va bien pour dire "personne n'accède à ce répertoire et ses sous-répertoires sauf si on donne le login et le mot de passe qui va bien" (= sécurisation). Dans ce cas, cette config ne concernera que le répertoire dans lequel ce trouve ce .htaccess qui dit ça et ses sous-répertoires.

    Citation Envoyé par Emilie012 Voir le message
    Et puis faire un htpasswrd, oui je comprends le principe mais je n'arrive même pas à voir le mot de passe de ma base de donnée qui se trouve dans un des fichier php ... comment fons les autres pour voir le contenu d'un fichier php ???
    De quoi parles-tu ? Tu t'es fait pirater ou un truc du genre ?

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Points : 54
    Points
    54
    Par défaut
    non pas encore mais je suis en train d'apprendre à sécuriser un site car c'est pas mon fort, case voit
    Je fais bien la distinction maintenant entre la config d'apache faite par le .htaccess et la sécurisation, c'est plus clair, cela dit, sans protection aucune, moi, je ne parviens pas à ouvrir mon fichier php par l'url qui contient mon mot le passe de ma base de donnée, donc je me demande comment font les hackers (ou pas d'ailleurs) pour voir le contenu de certains fichiers php, entre autre pour récupérer les mots de passe de la base de donnée ?

  8. #8
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Ils passent par des failles du code PHP. Par exemple, si tu mets tes mots de passe dans un fichier qui n'est pas en .php mais .inc, par exemple, quand tu appelles http://xxx.com/rep/bdd.inc, le serveur ne sait pas que c'est du PHP (parce que le fichier ne se termine pas en .php) et renvoie donc directement le fichier sans l'interpréter et tu vois les mots de passe.

    Moralité : tout fichier PHP doit s'appeler xxx.php

    Autre chose : si tu as un fichier .php qui contient des mots de passe (ou autre chose) et qu'il n'est utilisé que dans un autre script PHP par include ou require, il peut être intéressant de mettre ce fichier dans un sous-répertoire et de bloquer l'accès direct par HTTP à ce sous-répertoire et ce fichier en mettant dans le sous-répertoire de ce fichier un .htaccess contenant uniquement "Deny from all" (sans les ").

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Points : 54
    Points
    54
    Par défaut
    ok ca marche très bien comme mon fichier ce trouvait déjà dans un sous répertoire j'ai ajouté, comme tu m'as dit, le .htaccess. Effectiement ce sous-repertoire disparait de la liste (par url) lorsque "Deny from All" est ajouté.
    Par contre, j'ai donc aussi un .htaccess directement sous htdocs contenant ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ErrorDocument  404  /index.php
    ErrorDocument  401  /index.php
    ErrorDocument  400  /index.php
    ErrorDocument  403  /index.php
    ErrorDocument  500  /index.php
    Par contre, je n'avais pas remarqué que cela me bloquait mon accès à ma base de donnée, mon site ne fonctionne donc plus maintenant ... et dès que j'enlève ce htaccess .. retour à la normal ? pourquoi ?????

  10. #10
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par Emilie012 Voir le message
    Par contre, je n'avais pas remarqué que cela me bloquait mon accès à ma base de donnée, mon site ne fonctionne donc plus maintenant ... et dès que j'enlève ce htaccess .. retour à la normal ? pourquoi ?????
    Quel .htaccess ? Celui qui contient le Deny from all ou les ErrorDocument ? Dans les 2 cas, c'est franchement étrange : comment tu fais pour te connecter à ta base de données ?

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Points : 54
    Points
    54
    Par défaut
    Ouaaa tu me réponds à plus de minuit je te suis très reconnaissante

    Alors je parle de mon .htaccess qui se trouve dans htdocs et qui contient tous les ErrorDocument que j'ai listé précédemment. Il me suffit du supprimer la redirection 404 et ca remarche

    euh connexion classique :
    mysql_connect
    mysql_select_db
    mysql_query etc ...

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Points : 54
    Points
    54
    Par défaut
    Je serais même plus précise si je disai que c'est un pb de variable de session !!!! et non de base de donnée ... mais alors pourquoi ????

  13. #13
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Franchement, j'en ai aucune idée, c'est pas très normal. Visiblement, il y a une erreur 404 qui est levée et c'est ça qui pose pb. Mais pourquoi, je ne sais pas.

    Tu as des frames ou des iframes ? Le pb survient sur toutes les pages qui font des connexions à la base de données ou seulement sur certaines ? Si c'est sur toutes les pages, peux-tu essayer de construire une page PHP minimaliste qui fait juste un select count(*) sur l'une de tes tables et affiche le résultat ? Si ça marche, c'est ta façon de faire qui doit poser pb ou la structure de tes pages pour cause de frame ou iframe. En revanche, si ça marche pas, peux-tu nous donner le code PHP de cette page minimaliste ?

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Points : 54
    Points
    54
    Par défaut
    Alors, c'est pas simple ce truc
    Voici un petit code qui m'a permis de reproduire le pb, mais il arrive rarement avec ce code, alors que c'est systématique sur mon site
    Page1.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    session_start();
    $_SESSION['val']="tutu";
    echo "<iframe frameborder=\"0\" src=\"page2.php\"></iframe>";
    Page2.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    session_start ();
    echo "la valeur est = ".$_SESSION['val'];
    ?>
    Avec ca, je m'amuse à enlever et remettre la ligne ErrorDocument 404 /index.phpdans le .htaccess et si je rafraichis par F5, parfois la valeur ne passe pas !!!!

  15. #15
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Aucune idée du pb, désolé

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 25/10/2009, 22h00
  2. getline(cin,s) pas pris en compte ?
    Par FinalSpirit dans le forum SL & STL
    Réponses: 3
    Dernier message: 19/01/2006, 02h18
  3. [Mail] Les sauts de lignes pas pris en compte
    Par Anduriel dans le forum Langage
    Réponses: 15
    Dernier message: 14/12/2005, 20h13
  4. [Plugi][phpeclipse] point d'arrêt pas pris en compte
    Par damjal dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 23/11/2005, 00h58
  5. Mon script cron n'est pas pris en compte
    Par tomnie dans le forum Linux
    Réponses: 11
    Dernier message: 31/03/2004, 12h19

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