Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
975 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu] Automatiser le PHP_AUTH_USER pour authentification htaccess

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] Automatiser le PHP_AUTH_USER pour authentification htaccess

n°1613087
vilcocoy
Posté le 19-09-2007 à 16:20:48  profilanswer
 

Bonjour,
 
Voici mon problème : sur mon site, les utilisateurs se connectent via login/mot de passe (base de users mysql) et je gère tout le reste avec des sessions PHP.
 
Il s'agit d'un petit site qui permet d'afficher des albums de photos.
 
Je voudrais donc protéger les dossiers qui contiennent les photos pour empêcher un accès non autorisé, je souhaite donc naturellement utiliser un .htaccess.
 
Mais comme mes utilisateurs sont déjà authentifiés par PHP, je ne veux pas leur redemander de s'authentifier en HTTP.
 
Comment faire pour automatiquement paramétrer le PHP_AUTH_USER et le  PHP_AUTH_PWD pour passer l'authentification automatiquement pour mes users connectés ?
 
Merci !


Message édité par vilcocoy le 27-09-2007 à 21:26:11
mood
Publicité
Posté le 19-09-2007 à 16:20:48  profilanswer
 

n°1615584
vilcocoy
Posté le 26-09-2007 à 15:58:35  profilanswer
 

Personne n'a d'idée là dessus ? :??:

n°1615637
dwogsi
Défaillance cérébrale...
Posté le 26-09-2007 à 16:51:35  profilanswer
 

C'est ton idée qui n'est pas bonne là.
 
Je te conseillerais plutot de protéger ton répertoire de photos avec un .htaccess contenent :
deny from all
 
Ensuite tu utilise un script php pour l'affichage de tes images.
Celui-ci recoit en paramètre l'image que l'on souhaite afficher, vérifie les droits, et lit l'image et l'envoit si tout est ok.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1615665
leflos5
On est ou on est pas :)
Posté le 26-09-2007 à 17:24:05  profilanswer
 

Ou au pire si tu tiens vraiment à gérer les droits au niveau répertoire, tu fais une authentification http + .htaccess et si besoin au niveau php tu as les 2 variables que tu cites (si sous apache) ;)

n°1615753
vilcocoy
Posté le 26-09-2007 à 22:07:32  profilanswer
 

Merci pour vos conseils, je regarde ça...

n°1615755
vilcocoy
Posté le 26-09-2007 à 22:17:33  profilanswer
 

Dwogsi, ton système me semble sympa, mais je n'arrive pas à l'appliquer.
 
J'ai placé un .htaccess dans mon dossier, mais maintenant mes images ne s'affichent plus dans mes scripts PHP, du type :
 

echo "<img src=\"monDossierProtegeAvecHTAccess\sousdossier\fichier.jpg\" alt=\"blabla\">";


 
Comment ferais-tu pour que le .htaccess autorise la lecture par mon script PHP, ou comme tu dis pour que le script vérifie les droits ?


Message édité par vilcocoy le 26-09-2007 à 22:18:43
n°1615783
leflos5
On est ou on est pas :)
Posté le 27-09-2007 à 01:26:31  profilanswer
 

Ralala, encore une fois il faut comprendre comment ça marche avant de faire un truc bancal et crier au secours.
 
Vu que tu m'as l'air plus débrouillard que bien d'autres quelques explications:
- tu tapes une adresse dans ton navigateur
- tu accèdes à un serveur HTTP (web)
- tu lui demandes ce que tu as tapé en adresse (derrière le nom de domaine)
- il te sert la page ET ce qui pourrait être inclu (images, fichier liés genre css, js...)
- si c'est un langage de script, le serveur demande l'interprétation avant de te servir le résultat qui doit être une ressources compréhensible par le navigateur et identifié en tant que tel (type mime)
 
Donc ton .htaccess agit au niveau du serveur HTTP auquel tu dis de ne pas autoriser l'accès à ces ressources! Tu peux y accéder via le système de fichier néanmoins puisque ça passe pas par le serveur HTTP (ie php dans notre cas)
 
 
C'est donc normal que tu puisses pas accéder à tes images si elles sont dans un dossier ou sous dossier qui est interdit d'accès.
 
Faudrait que tu mettes tes ressources que tu veux pas bloquer dans un dossier pas bloqué ;)

n°1615826
dwogsi
Défaillance cérébrale...
Posté le 27-09-2007 à 09:09:01  profilanswer
 

Moi je disais quelque chose comme ça :

Code :
  1. echo '<img src="mes-script-ou-ya-pas-de-htaccess/getImage.php?img=fichier.jpg" alt="blabla" />';


Et ensuite getImage.php :

Code :
  1. <?php
  2. // Vérification des droits de l'utilisateur/visiteur
  3.  
  4. // Si tout est ok
  5. // Ya plus qu'a faire quelque chose comme ça :
  6. header('Content-Type: image/jpg');
  7. echo file_get_contents('mon-rep-avec-htaccess/'.$_GET['img']);
  8. ?>

(Script à améliorer)

 

Comme ça ton .htacces protége les accès directes aux images et ton script les envoit seuleument si l'utilisateur/visiteur est autorisé à les visualiser.


Message édité par dwogsi le 28-09-2007 à 12:37:55

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1615956
leflos5
On est ou on est pas :)
Posté le 27-09-2007 à 13:16:37  profilanswer
 

la question est de savoir si on veut vraiment (et doit surtout) protéger les  images :??:
 
Parce que charger le serveur pour ça, c'est la même avec les css après, bref beaucoup de ressource pour pas grand chose.  
 
Mais c'est un choix à faire en fonction de ce que l'on veut, moi juste pour ce qui doit être servi comme ça je ferais un répertoire libre d'accès à côté de l'accès restreint.

n°1615968
vilcocoy
Posté le 27-09-2007 à 13:33:05  profilanswer
 

Ok, merci pour vos réponses.
 
Dwogsi, je vais essayer de mettre en pratique ton exemple, qui est astucieux.
 
Leflos5, pour répondre à ton interrogation, ma démarche a pour but de cloisonner complètement mon site, je ne veux donc pas que l'on puisse accéder à la moindre ressource sans être authentifié.
 
Mon petit site ne sera pas hébergé chez un FAI, mais sur un serveur perso, dédié à ça, avec une très faible audience, donc je n'ai pas d'inquiétude quant aux perfs de la machine.

mood
Publicité
Posté le 27-09-2007 à 13:33:05  profilanswer
 

n°1616336
vilcocoy
Posté le 27-09-2007 à 21:25:16  profilanswer
 

SUPER !!
 
Ca marche !
 
Merci beaucoup.

n°1616383
leflos5
On est ou on est pas :)
Posté le 28-09-2007 à 01:57:42  profilanswer
 

fais bien attention au type de donnée que tu envois, te fie pas forcément aux extensions mais aussi aux résultats des fonctions te permettant d'évaluer tel ou tel type, en l'occurence surtout pour les images :)

n°1616546
vilcocoy
Posté le 28-09-2007 à 12:17:51  profilanswer
 

Tu veux dire vérifier qu'il s'agit bien d'un fichier du type correspondant à l'extension avant de l'envoyer avec un type MIME ?

n°1616601
leflos5
On est ou on est pas :)
Posté le 28-09-2007 à 14:21:59  profilanswer
 

C'est ça :) Même si c'est pour ton usage perso, si tu veux verrouiller autant faire les choses proprement.
 
Tu peux très bien avoir du php, un éxécutable, bref tout sauf une image dans un .jpg

n°1617255
vilcocoy
Posté le 01-10-2007 à 10:01:29  profilanswer
 

OK, je vais faire ça, merci pour le conseil.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu] Automatiser le PHP_AUTH_USER pour authentification htaccess

 

Sujets relatifs
Variable globale [Resolu]htaccess et types de cryptages
[PHP][REGEX]réduire le texte d'un lien dans une chaine[PHP] Quels livres pour apprendre le php
[Résolu] compiler plusieur images dans un fichier php[resolu] JpGraph et MySQL
[PHP]Upload fichier de 30mo?!PHP & MySQL chez Free, où stocker le mot de passe ?
[MY SQL] Probleme pour mettre a jour une table [résolu][PHP] et Excel
Plus de sujets relatifs à : [Résolu] Automatiser le PHP_AUTH_USER pour authentification htaccess


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR