Page 1 sur 1

Problème .htaccess

Posté : 02 juin 2009, 10:56
par alexiel0801
Bonjour,

Comme le dit si bien le titre de mon post, j'ai un problème avec le .htaccess

J'ai regardé longuement sur internet mais je n'ai pas trouver la solution à mon problème.

Voila, je suis actuellement en stage, et on me demande de réaliser un site internet avec une partie privée admin et une autre.

Alors en testant je mettais rendue compte que ce n'était pas du tout sécurisé. En effet lorsque je tapais l'adresse entière ("http://monsite..fr/site/admin/test.php") on accédait a la partie administrateur sans se connecter...

Voyant cela j'ai décidé d'ajouter un .htaccess et .htpasswd dans les 2 répertoires

Voici le fichier .htaccess pour la partie admin :

Code : Tout sélectionner

AuthUserFile /home/www/chemin/.htpasswd AuthGroupFile /dev/null AuthName "Acces Restreint" AuthType Basic <Limit GET POST> require valid-user </Limit>
Voici le fichier .htpasswd :

Code : Tout sélectionner

nom:blabla

Je tiens à dire aussi que j'ai tester l'adresse exacte du AuthUserFile grâce à ce petit script :
<?
echo realpath("index.php");
?>

Après avoir rajouté ces fichiers dans le bon répertoire, je test si cela marche et la il me demande indéfiniment mon login et mon mot de passe... et quand je fais annuler il me met :
"Authorization Required

This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required."
Vous êtes mon dernier recours ... :cry:

Je vous remercie d'avance !! :D

Bonne journée à vous tous !!

Alex

Posté : 02 juin 2009, 13:25
par AB
Heu... me souviens plus, j'ai fait ça il y a longtemps mais je n'utilise plus ce système.
Bon je ne répond pas directement à ta question mais puisque personne ne t'a encore répondu, tu peux trouver une variante pour protéger ta partie administrateur avec ce système http://www.phpfrance.com/forums/voir_sujet-242539.php

Posté : 02 juin 2009, 18:57
par Sékiltoyai
Dans l'hypothèse où tu ne suivais pas l'idée de AB, poste nous ta version de apache.

Posté : 03 juin 2009, 08:32
par alexiel0801
Bonjour ,

Tout d'abord merci de m'avoir répondu ^^

Donc voici la version d'apache : Apache/2.0.53 (Fedora) Server

J'attend vos réponses avec impatience ! ^^

Merci encore

Alex

Posté : 03 juin 2009, 08:39
par Sékiltoyai
En fait, je suis con.
J'aurais dû voir ça dès le début… Tes mots de passe ne sont pas chiffrés, ils devraient l'être. Apache ne supporte pas qu'ils ne le soient pas. Il faut que tu génères les mots de passe avec l'utilitaire htpasswd.

Posté : 03 juin 2009, 08:42
par alexiel0801
C'est plutôt bête de ma part de te posé la question mais je dois crypté les mots de passe même si je suis sur widows ? : :?

Posté : 03 juin 2009, 09:03
par Sékiltoyai
En effet, non, mais :
- Dans ton exemple le chemin est purement un chemin unix (donc pas Windows), donc c'est tout de même troublant.
- Le serveur tu ne sais pas s'il sera sous Windows.

D'ailleurs, es-tu sûr que l'académie utilise Apache ?

Posté : 03 juin 2009, 09:50
par alexiel0801
Et bien c'est marqué ca : Apache/2.0.53 (Fedora) Server

Donc je pense qu'ils sont sur linux :)

Posté : 03 juin 2009, 13:10
par AB
Ah... à la lecture de vos post, ça y est, je me souviens pourquoi j'ai abandonné ce système. L'authentification à base de session est entre autre bien plus facilement portable :)

Posté : 04 juin 2009, 01:38
par Sékiltoyai
Et bien c'est marqué ca : Apache/2.0.53 (Fedora) Server

Donc je pense qu'ils sont sur linux :)
Ok, bah commence par crypter les mots de passe alors, ce sera utile.
Ensuite, regarde dans tes logs d'où vient l'erreur d'authentification.

Posté : 04 juin 2009, 08:35
par alexiel0801
J'ai regarder ton tuto AB et c'est exactement ce que j'avais fait, mais celui-ci ne sécurise pas l'accès a la partie privé.

Car si j'enlève le .htaccess et .htpasswd et que je tape : http://www.monsite.fr/admin/index.php

alors n'importe qui peut y accéder... moi ce que je voudrais c'est empêcher cela mais avec les sessions je ne vois pas trop quoi faire de plus ...

En ce qui concerne le .htpasswd, j'ai crypté les mots de passe et ça ne change rien :cry:

Posté : 04 juin 2009, 12:48
par AB
Tu n'a pas dû lire tout en détail, je pense que tu es passé directement au script de connexion sans regarder celui de l'inscription à la suite duquel il est écrit
/*Dans cet exemple, si l'enregistrement est effectué correctement on enregistre le pseudo dans la variable de session $_SESSION['login'].

  Les pages à protéger devront donc commencer par :*/
      session_start(); 
      if(!isset($_SESSION['login'])) {die('Vous devez être enregistré pour accéder à cette partie du site');}
C'est le même principe pour la connexion. Il suffit de mettre ces deux lignes au début de toutes les pages que tu veux protéger.

Si tu as d'autres questions sur ce tuto, ouvre un autre topic car dans ce cas (et c'est ma faute) nous ne sommes plus dans un problème de .htacess