htaccess - fournir les pass à php
5 messages • Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
htaccess - fournir les pass à php
Bonjour,
je travaille, comme beaucoup d'entre vous, avec php. J'ai créé deux fichiers htaccess, l'un demandant une identification, l'autre n'en demandant pas.
arborescence :
www/
->index.php5
->htaccess (ne demande pas d'authentification
->dossier protege/
--> fichier htaccess (demande une authentification)
Je souhaiterais fournir au fichier ->index.php5 les informations d'authentification http, afin qu'il lise le contenu du ->dossier protégé sans que l'utilisateur ait besoin de taper un mot de passe.
Est-ce possible ?
Merci à vous.
je travaille, comme beaucoup d'entre vous, avec php. J'ai créé deux fichiers htaccess, l'un demandant une identification, l'autre n'en demandant pas.
arborescence :
www/
->index.php5
->htaccess (ne demande pas d'authentification
->dossier protege/
--> fichier htaccess (demande une authentification)
Je souhaiterais fournir au fichier ->index.php5 les informations d'authentification http, afin qu'il lise le contenu du ->dossier protégé sans que l'utilisateur ait besoin de taper un mot de passe.
Est-ce possible ?
Merci à vous.
Bonjour, et merci de ton aide.
J'ai déjà lu cette page, mais j'ai du mal à comprendre ce en quoi elle peut m'aider.
Voici le contenu de mon index.php5 :
Ainsi, le code php s'exécute parfaitement bien. Par contre, quand il s'agit d'aller récupérer les fichiers html, images, css du sous dossier protégé, il me demande le mot de passe, alors que je l'ai fourni à php (en gros, l'utilisateur n'a pas à fournir de mot de passe, sauf s'il veut accéder au dossier protégé sans passer par l'index.php5).
Merci.
J'ai déjà lu cette page, mais j'ai du mal à comprendre ce en quoi elle peut m'aider.
Voici le contenu de mon index.php5 :
- Code: Tout sélectionner
<?php
$_SERVER['PHP_AUTH_USER']="user";
$_SERVER['PHP_AUTH_PW']="pass";
session_start();
include("protected/trame.php");
?>
Ainsi, le code php s'exécute parfaitement bien. Par contre, quand il s'agit d'aller récupérer les fichiers html, images, css du sous dossier protégé, il me demande le mot de passe, alors que je l'ai fourni à php (en gros, l'utilisateur n'a pas à fournir de mot de passe, sauf s'il veut accéder au dossier protégé sans passer par l'index.php5).
Merci.
Tu peux accéder à un dossier avec ton fichier php même sans lui donner les codes.
le htaccess te protege au niveau du protocole http.
En php, tu est directement du serveur au serveur.
Donc, tu peux accéder à toutes le contenu du fichier php via les fonctions php.
Par contre, ce que tu veux faire, c'est donner l'accès à ton utilisateur des fichiers situé dans ton répertoire protégé, mais seulement s'ils viennent du fichier index.php5 ?
Si je comprends bien comment cela marche, PHP écrit les variables lorsque le client (navigateur ou autre) envoi le login/mot de passe au serveur. L'authentification est alors réalisée pour ce client.
Dans ton cas, le client n'est pas le navigateur : c'est le fichier index.php5 = le serveur php. Par contre, celui qui apelle les images, c'est le navigateur qui lui n'a pas été authentifié -> il n'a pas accès aux images, ce qui est normal.
Une solution imparfaite est de tester le referer dans le htaccess et de rediriger autrement (anti hotlinking classique) mais ca ne marche pas toujours : par exemple quand Norton security n'envoie pas de referer).
Une autre solution si tu veux que le navigateur accéde aux images est d'aller chercher le fichier via php.
Tu peux aller chercher les images par fopen par exemple.
François
le htaccess te protege au niveau du protocole http.
En php, tu est directement du serveur au serveur.
Donc, tu peux accéder à toutes le contenu du fichier php via les fonctions php.
Par contre, ce que tu veux faire, c'est donner l'accès à ton utilisateur des fichiers situé dans ton répertoire protégé, mais seulement s'ils viennent du fichier index.php5 ?
Si je comprends bien comment cela marche, PHP écrit les variables lorsque le client (navigateur ou autre) envoi le login/mot de passe au serveur. L'authentification est alors réalisée pour ce client.
Dans ton cas, le client n'est pas le navigateur : c'est le fichier index.php5 = le serveur php. Par contre, celui qui apelle les images, c'est le navigateur qui lui n'a pas été authentifié -> il n'a pas accès aux images, ce qui est normal.
Une solution imparfaite est de tester le referer dans le htaccess et de rediriger autrement (anti hotlinking classique) mais ca ne marche pas toujours : par exemple quand Norton security n'envoie pas de referer).
Une autre solution si tu veux que le navigateur accéde aux images est d'aller chercher le fichier via php.
Tu peux aller chercher les images par fopen par exemple.
François
5 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Article sur le fichier .htaccess
- Suite de l'article sur le fichier .htaccess : l'URL rewriting
- Google signe avec Lycos Europe un accord sur la publicité ciblée
- Utilisation des données WHOIS par Google
- Comment éviter les contenus dupliqués (avec/sans le www)
- 3ème partie de l'article .htaccess : les réécritures conditionnelles
- Aperçu des différents types de redirection
- Parts de marché des moteurs en Europe (Février 2006)
- L'URL Rewriting expliqué aux débutants
- Les redirections 301 passent-elles encore le contexte sémantique ?
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


le forum