OVH Cloud OVH Cloud

Sessions et HTACCESS

11 réponses
Avatar
Shadman
Bonjour,

Qualqu'un sait il s'il est possible de coupler l'utilisation des Sessions
PHP4 et du fichier HTACCESS, avec comme référence du couple utilisateur /
mot de passe une table MYSQL (comment mettre à jour le fichier .htpasswd
depuis cette table ?) ?

10 réponses

1 2
Avatar
Matchenul
Qualqu'un sait il s'il est possible de coupler l'utilisation des Sessions
PHP4 et du fichier HTACCESS, avec comme référence du couple utilisateur /
mot de passe une table MYSQL (comment mettre à jour le fichier .htpasswd
depuis cette table ?) ?
Pour mettre à jour .htpasswd depuis MySQL, c'est à dire par l'intermédiaire

d'un script PHP, il suffit d'utiliser les fonctions de fichier de PHP :
fopen(), fwrite() et Cie.
voila voila, bon courage ::;-)

Avatar
Ampac
Dans news:3f757e33$0$10422$,
Shadman raconte :

Qualqu'un sait il s'il est possible de coupler l'utilisation des
Sessions PHP4 et du fichier HTACCESS, avec comme référence du couple
utilisateur / mot de passe une table MYSQL (comment mettre à jour le
fichier .htpasswd depuis cette table ?) ?


fopen en ecriture, fgets et fclose te permettront de generer le fichier
htaccess.
Tu encodes prealablement tes mots de passe en md5.

$montext="jflsjdljksfl"; // ici tes logins et mots de passe
$fic=fopen("htaccess","w+");
fputs($fic,$montext);
fclose($fic);

--
Ampac

Avatar
Savut
Explique ce que tu veux faire, c'est possible de faire bcp de chose avec PHP
+ MySQL pour ou avec .htaccess mais ce serait bien que tu nous explique
d'avantage comme ca on peut meme te suggerer d'autre solution plus simple ou
plus efficace.

"Shadman" wrote in message
news:3f757e33$0$10422$
Bonjour,

Qualqu'un sait il s'il est possible de coupler l'utilisation des Sessions
PHP4 et du fichier HTACCESS, avec comme référence du couple utilisateur /
mot de passe une table MYSQL (comment mettre à jour le fichier .htpasswd
depuis cette table ?) ?


Avatar
Thibaut Allender
"Shadman" wrote in message
news:3f757e33$0$10422$
Qualqu'un sait il s'il est possible de coupler l'utilisation des Sessions
PHP4 et du fichier HTACCESS, avec comme référence du couple utilisateur /
mot de passe une table MYSQL (comment mettre à jour le fichier .htpasswd
depuis cette table ?) ?


hello

tu peux lancer system('/usr/local/apache/bin/htpasswd') avec les options qui
vont bien pour creer/editer un fichier .htpasswd depuis un script php.

ceci dit, je ne vois pas ce que viennent faire les sessions dans ta question
?

a+

--
+ thibaut allender // web design + php dev + digital photo
+ http://www.capsule.org

Avatar
Shadman
Merci,

Je vais essayer d'utiliser les fonctions fopen en ecriture, fgets et fclose
...

En fait mon problème est le suivant :

Je gère l'accès à une zone membre avec les sessions de PHP via un couple
login / mdp dans une table MySql.

Le problème vient du fait que ces membres peuvent déposer et consulter un
ensemble de documents stockés dans des répertoires précis.
Les liens qui pointent sur ces documents sont gérénés par PHP via une table
MySQL. Il n'existe pas de page HTML les proposants directement.

Par contre, si on entre directement le chemin du document dans le navigateur
ex : http://www.monsite.com/mon_repertoire/mon_document.doc le navigateur
propose le téléchargement même si 'lutilisateur n'est pas loggué par une
Session PHP.

Je voulais utiliser le fichier .htaccess pour éviter ce genre de "piratage".

Voyez-vous une autre solution ?


"Savut" a écrit dans le message de news:
t7odb.15995$
Explique ce que tu veux faire, c'est possible de faire bcp de chose avec
PHP

+ MySQL pour ou avec .htaccess mais ce serait bien que tu nous explique
d'avantage comme ca on peut meme te suggerer d'autre solution plus simple
ou

plus efficace.

"Shadman" wrote in message
news:3f757e33$0$10422$
Bonjour,

Qualqu'un sait il s'il est possible de coupler l'utilisation des
Sessions


PHP4 et du fichier HTACCESS, avec comme référence du couple utilisateur
/


mot de passe une table MYSQL (comment mettre à jour le fichier .htpasswd
depuis cette table ?) ?




Avatar
ElPaulo
Bonjour,

On 28 Sep 2003 16:17:22 GMT, "Shadman" wrote:

En fait mon problème est le suivant :

Je gère l'accès à une zone membre avec les sessions de PHP via un couple
login / mdp dans une table MySql.

Le problème vient du fait que ces membres peuvent déposer et consulter un
ensemble de documents stockés dans des répertoires précis.
Les liens qui pointent sur ces documents sont gérénés par PHP via une table
MySQL. Il n'existe pas de page HTML les proposants directement.

Par contre, si on entre directement le chemin du document dans le navigateur
ex : http://www.monsite.com/mon_repertoire/mon_document.doc le navigateur
propose le téléchargement même si 'lutilisateur n'est pas loggué par une
Session PHP.

Je voulais utiliser le fichier .htaccess pour éviter ce genre de "piratage".

Voyez-vous une autre solution ?


Tu peux mettre un fichier index.htm dans chaque répertoire, qui renvoie sur
le fichier "home" (celui sur lequel on tombe quand on va sur ton site
normalement.
Par exemple:

<HTML>
<Head>
<Title>Mon site</Title>
<Meta http-equiv='refresh'Content='1;url=http://URLDeMonSite'>");
</Head>
</HTML>

Voilà.
Quand on va dans un répertoire, le fichier index, s'il y en a un, est
aussitôt exécuté.
Seule contrainte: ne pas oublier de le mettre dans chaque répertoire.

Amitiés, Paul.

Avatar
dominique
Shadman wrote:
Je gère l'accès à une zone membre avec les sessions de PHP via un couple
login / mdp dans une table MySql.


je pense que tu peux jetter 1 oeil la :
http://www.linuxhelp.net/guides/htaccessmysql/

je n'ai pas approfondi le sujet. Je savais juste que ca existait mais
apres il faut que tu regardes si tu peux coller a ton modele de donnees,
si c'est facilement configurable, ...

--
Dom

Avatar
Jedi121
Shadman wrote:
Voyez-vous une autre solution ?


Oui :)
Déposer tes fichiers dans une arborescence autre que celle de ton www mais où
PHP peut aller piocher (sinon tu les mets dans un répertoire sous www avec un
.htaccess à deny all.
Gérer tes droits en PHP et quand c'est OK utiliser la fonction fpassthru() pour
envoyer le fichier.

Avatar
Stephane
Bonjour,

On 28 Sep 2003 16:17:22 GMT, "Shadman" wrote:
Par contre, si on entre directement le chemin du document dans le navigateur
ex : http://www.monsite.com/mon_repertoire/mon_document.doc le navigateur
propose le téléchargement même si 'lutilisateur n'est pas loggué par une
Session PHP.

Je voulais utiliser le fichier .htaccess pour éviter ce genre de "piratage".

Voyez-vous une autre solution ?



Tu peux mettre un fichier index.htm dans chaque répertoire, qui renvoie sur
le fichier "home"


Le index.html empeche juste de lister le contenu du repertoire (ici
http://www.monsite.com/mon_repertoire) mais si on connait le nom du
document dans ce repertoire, on peut le telecharger sans probleme.
(mais je suis d'accord empecher de lister le repertoire est une
securite de base pour ma part!)

la seule solution que je connais pour securiser un repertoire est le
.htaccess! (mais on a besoin de s'authentifier)

une solution sans .htaccess est de ne faire aucun lien ou aucune
reference a ces fameux fichiers dans les pages non "securisees", et de
n'afficher ces fichiers que si l'utilisateur est authentifie avec sa
session (mais rien n'empeche l'utilisateur ensuite de diffuser ce lien
a toute la planete ;o))

au passage voici une autre solution que j'utilise pour modifier le mot
de passe d'un user dans un .htaccess avec la methode apache grace a
htpasswd:

$exe="C:/Program Files/Apache Group/Apache/bin/htpasswd.exe"; //windows
$exe="/usr/bin/htpasswd"; //linux

$fic="/mon_repertoire/fichier_password"; //lien absolu systeme

$user ="nom du user a modifier";
$passwd="nouveau passwd";

exec(""$exe" -b $fic $user $passwd");

ainsi y a pas a se preoccuper du cryptage, mais il faut bien sur
pouvoir lancer les exec je vous l'accorde ;o)



--

Stephane


Avatar
Shadman

Le index.html empeche juste de lister le contenu du repertoire (ici
http://www.monsite.com/mon_repertoire) mais si on connait le nom du
document dans ce repertoire, on peut le telecharger sans probleme.
(mais je suis d'accord empecher de lister le repertoire est une
securite de base pour ma part!)

la seule solution que je connais pour securiser un repertoire est le
.htaccess! (mais on a besoin de s'authentifier)

une solution sans .htaccess est de ne faire aucun lien ou aucune
reference a ces fameux fichiers dans les pages non "securisees", et de
n'afficher ces fichiers que si l'utilisateur est authentifie avec sa
session (mais rien n'empeche l'utilisateur ensuite de diffuser ce lien
a toute la planete ;o))




C'est exactement mon problème... et je suppose que si je gères les accès
avec .htaccess, l'utilisateur déjà loggué par une session devra s'identifier
à nouveau quand il cliquera sur le lien proposant le document .... mais bon,
visiblement je n'ai pas le choix.

Je vais appliquer vos conseils

Merci à tous.

1 2