Je souhaiterais mettre en place une restriction d'accès utilisant à la
fois php et htaccess, pour le fonctionnement suivant :
Une page avec formulaire html classique, identifiant + mot de passe +
bouton OK ; on clique sur OK est on accède à un répertoire (ou on reste
sur la page avec message d'erreur si login/passwd incorrect...)
répertoire = fichiers en liste sur le serveur web, sans page index.html
donc...
Jusque là je suis à peu près capable de me débrouiller.
Mais il faudrait que le réperoire soit protégé par htaccess pour éviter
d'y accéder directement sans passer par la page d'identification.
Je sais aussi créer des protections htaccess, mais comment faire en
sorte qu'à l'identification par PHP suite au formulaire le htaccess soit
automatiquement validé dans la session (pas d'ouverture de dialogue
d'identification). J'imagine que ça se passe au niveau des entêtes HTTP
mais je patauge.
Est-ce seulement possible ? Si oui existerait-il un script ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Eric Demeester
dans (in) fr.comp.lang.php, fb ecrivait (wrote) :
Bonj...soir,
Hello :)
Je souhaiterais mettre en place une restriction d'accès utilisant à la fois php et htaccess, pour le fonctionnement suivant : [...]
Mais il faudrait que le réperoire soit protégé par htaccess pour éviter d'y accéder directement sans passer par la page d'identification.
Je ne suis pas certain de bien avoir compris ce que tu souhaites faire, mais il me semble qu'une gestion de sessions devrait répondre à ton besoin.
Je sais aussi créer des protections htaccess, mais comment faire en sorte qu'à l'identification par PHP suite au formulaire le htaccess soit automatiquement validé dans la session (pas d'ouverture de dialogue
En n'utilisant pas de .htaccess et en te contentant de gérer des sessions, tout simplement :)
Est-ce seulement possible ?
Oui (enfin si j'ai compris ce que tu voulais encore une fois).
Le principe est le suivant :
- tu demandes à ton visiteur de s'identifier. Si l'identification réussit, tu lui affectes une ou plusieurs variables de session ; - pour l'ensemble des pages protégées, avant de les afficher, tu vérifies la validité de la (ou des) variable(s) de session (personnellement je contrôle la validité des variables de session dans une base de données, mais tu peux aussi utiliser des cookies) ; - si c'est bon tu affiches la page, sinon tu rediriges sur la page d'accueil ou sur le formulaire d'identification.
Si oui existerait-il un script ?
Il en existe des centaines et le sujet est trop vaste pour t'en indiquer un répondant précisément à ton besoin.
Je te suggère de lire la doc concernant les sessions :
http://fr2.php.net/manual/fr/ref.session.php
Le principe général pour chaque page protégée est le suivant :
<?php // démarrage de la session session_start(); // récupère le contenu de la variable de session if (isset($_SESSION['toto']) & !empty($_SESSION['toto'])) { // la variable existe et est non-vide $session_id = $_SESSION['toto']; // Ici on vérifie si $session correspond bien à une entrée // dans la base de données ou au cookie lu sur l'ordinateur // du client. Si ce n'est pas ok, retour à la page d'accueil // voir ci-dessous } else { // la session n'est pas démarrée, retour à la page d'identification header("Location: ../index.php"); } ?>
Voila, bonnes recherches et bon week-end :)
-- Eric
dans (in) fr.comp.lang.php, fb <fbBOUCHONarret@tiscali.fr> ecrivait
(wrote) :
Bonj...soir,
Hello :)
Je souhaiterais mettre en place une restriction d'accès utilisant à la
fois php et htaccess, pour le fonctionnement suivant :
[...]
Mais il faudrait que le réperoire soit protégé par htaccess pour éviter
d'y accéder directement sans passer par la page d'identification.
Je ne suis pas certain de bien avoir compris ce que tu souhaites faire,
mais il me semble qu'une gestion de sessions devrait répondre à ton
besoin.
Je sais aussi créer des protections htaccess, mais comment faire en
sorte qu'à l'identification par PHP suite au formulaire le htaccess soit
automatiquement validé dans la session (pas d'ouverture de dialogue
En n'utilisant pas de .htaccess et en te contentant de gérer des
sessions, tout simplement :)
Est-ce seulement possible ?
Oui (enfin si j'ai compris ce que tu voulais encore une fois).
Le principe est le suivant :
- tu demandes à ton visiteur de s'identifier. Si l'identification
réussit, tu lui affectes une ou plusieurs variables de session ;
- pour l'ensemble des pages protégées, avant de les afficher, tu
vérifies la validité de la (ou des) variable(s) de session
(personnellement je contrôle la validité des variables de session
dans une base de données, mais tu peux aussi utiliser des cookies) ;
- si c'est bon tu affiches la page, sinon tu rediriges sur la page
d'accueil ou sur le formulaire d'identification.
Si oui existerait-il un script ?
Il en existe des centaines et le sujet est trop vaste pour t'en indiquer
un répondant précisément à ton besoin.
Je te suggère de lire la doc concernant les sessions :
http://fr2.php.net/manual/fr/ref.session.php
Le principe général pour chaque page protégée est le suivant :
<?php
// démarrage de la session
session_start();
// récupère le contenu de la variable de session
if (isset($_SESSION['toto']) & !empty($_SESSION['toto'])) {
// la variable existe et est non-vide
$session_id = $_SESSION['toto'];
// Ici on vérifie si $session correspond bien à une entrée
// dans la base de données ou au cookie lu sur l'ordinateur
// du client. Si ce n'est pas ok, retour à la page d'accueil
// voir ci-dessous
}
else {
// la session n'est pas démarrée, retour à la page d'identification
header("Location: ../index.php");
}
?>
Je souhaiterais mettre en place une restriction d'accès utilisant à la fois php et htaccess, pour le fonctionnement suivant : [...]
Mais il faudrait que le réperoire soit protégé par htaccess pour éviter d'y accéder directement sans passer par la page d'identification.
Je ne suis pas certain de bien avoir compris ce que tu souhaites faire, mais il me semble qu'une gestion de sessions devrait répondre à ton besoin.
Je sais aussi créer des protections htaccess, mais comment faire en sorte qu'à l'identification par PHP suite au formulaire le htaccess soit automatiquement validé dans la session (pas d'ouverture de dialogue
En n'utilisant pas de .htaccess et en te contentant de gérer des sessions, tout simplement :)
Est-ce seulement possible ?
Oui (enfin si j'ai compris ce que tu voulais encore une fois).
Le principe est le suivant :
- tu demandes à ton visiteur de s'identifier. Si l'identification réussit, tu lui affectes une ou plusieurs variables de session ; - pour l'ensemble des pages protégées, avant de les afficher, tu vérifies la validité de la (ou des) variable(s) de session (personnellement je contrôle la validité des variables de session dans une base de données, mais tu peux aussi utiliser des cookies) ; - si c'est bon tu affiches la page, sinon tu rediriges sur la page d'accueil ou sur le formulaire d'identification.
Si oui existerait-il un script ?
Il en existe des centaines et le sujet est trop vaste pour t'en indiquer un répondant précisément à ton besoin.
Je te suggère de lire la doc concernant les sessions :
http://fr2.php.net/manual/fr/ref.session.php
Le principe général pour chaque page protégée est le suivant :
<?php // démarrage de la session session_start(); // récupère le contenu de la variable de session if (isset($_SESSION['toto']) & !empty($_SESSION['toto'])) { // la variable existe et est non-vide $session_id = $_SESSION['toto']; // Ici on vérifie si $session correspond bien à une entrée // dans la base de données ou au cookie lu sur l'ordinateur // du client. Si ce n'est pas ok, retour à la page d'accueil // voir ci-dessous } else { // la session n'est pas démarrée, retour à la page d'identification header("Location: ../index.php"); } ?>
Voila, bonnes recherches et bon week-end :)
-- Eric
fb
dans (in) fr.comp.lang.php, fb ecrivait
Bonj...soir,
Hello :)
Oui c'est plus simple :)
Je ne suis pas certain de bien avoir compris ce que tu souhaites faire, mais il me semble qu'une gestion de sessions devrait répondre à ton besoin.
C'est que je voudrais pouvoir afficher, après identification sur un formulaire html-php, un répertoire entier, avec son contenu - chemin du type "http://monbosite.fr/repertoire/" ; sans afficher une page par défaut (pas d'index.html). Bien sûr le répertoire est lui-même protégé par htaccess+htpasswd mais il faudrait donc que l'identification php validée annule le contrôle htaccess. Suis-je plus clair ?
Je pense être capable de créer une restriction d'accès avec des contrôles de session en têtes de pages mais pour ce que je comprends du système de sessions php, il ne me parait pas possible de l'appliquer à un répertoire affiché tel quel. Me trompe-je ?
Je te suggère de lire la doc concernant les sessions : http://fr2.php.net/manual/fr/ref.session.php
De temps en temps j'essaie de lire des choses comme ça ;) C'est assez laborieux pour moi, la prog. n'est pas mon métier bien que je doive y recourir de temps en temps.
Merci beaucoup de ta réponse en tout cas, et pour le script commenté.
Il se pourrait aussi qu'on me vienne en aide par ailleurs finalement ; si ça marche je vous tiens au courant...
-- françois
dans (in) fr.comp.lang.php, fb <fbBOUCHONarret@tiscali.fr> ecrivait
Bonj...soir,
Hello :)
Oui c'est plus simple :)
Je ne suis pas certain de bien avoir compris ce que tu souhaites faire,
mais il me semble qu'une gestion de sessions devrait répondre à ton
besoin.
C'est que je voudrais pouvoir afficher, après identification sur un
formulaire html-php, un répertoire entier, avec son contenu - chemin du
type "http://monbosite.fr/repertoire/" ; sans afficher une page par
défaut (pas d'index.html). Bien sûr le répertoire est lui-même protégé
par htaccess+htpasswd mais il faudrait donc que l'identification php
validée annule le contrôle htaccess.
Suis-je plus clair ?
Je pense être capable de créer une restriction d'accès avec des
contrôles de session en têtes de pages mais pour ce que je comprends du
système de sessions php, il ne me parait pas possible de l'appliquer à
un répertoire affiché tel quel. Me trompe-je ?
Je te suggère de lire la doc concernant les sessions :
http://fr2.php.net/manual/fr/ref.session.php
De temps en temps j'essaie de lire des choses comme ça ;)
C'est assez laborieux pour moi, la prog. n'est pas mon métier bien que
je doive y recourir de temps en temps.
Merci beaucoup de ta réponse en tout cas, et pour le script commenté.
Il se pourrait aussi qu'on me vienne en aide par ailleurs finalement ;
si ça marche je vous tiens au courant...
Je ne suis pas certain de bien avoir compris ce que tu souhaites faire, mais il me semble qu'une gestion de sessions devrait répondre à ton besoin.
C'est que je voudrais pouvoir afficher, après identification sur un formulaire html-php, un répertoire entier, avec son contenu - chemin du type "http://monbosite.fr/repertoire/" ; sans afficher une page par défaut (pas d'index.html). Bien sûr le répertoire est lui-même protégé par htaccess+htpasswd mais il faudrait donc que l'identification php validée annule le contrôle htaccess. Suis-je plus clair ?
Je pense être capable de créer une restriction d'accès avec des contrôles de session en têtes de pages mais pour ce que je comprends du système de sessions php, il ne me parait pas possible de l'appliquer à un répertoire affiché tel quel. Me trompe-je ?
Je te suggère de lire la doc concernant les sessions : http://fr2.php.net/manual/fr/ref.session.php
De temps en temps j'essaie de lire des choses comme ça ;) C'est assez laborieux pour moi, la prog. n'est pas mon métier bien que je doive y recourir de temps en temps.
Merci beaucoup de ta réponse en tout cas, et pour le script commenté.
Il se pourrait aussi qu'on me vienne en aide par ailleurs finalement ; si ça marche je vous tiens au courant...