Je cherche des solutions pour protéger un répertoire de l'arborescence web
d'apache en utilisant php/apache/mysql : un répertoire à protéger contenant
des fichiers php et des fichiers statiques (html, pdf,...).
Je vois avec php comment écrire des scripts qui chacun vérifient qu'un
utilisateur s'est loggé (avec contrôle sur les champs login,password dans
une table "utilisateur" BD Mysql) : en utilisant par ex. le mécanisme des
sessions chaque script vérifie que l'authentification a été réalisée mais
celà ne protège pas l'accès à des fichiers (type pdf). Il me faut encore un
fichier (htaccess), qui contienne les mêmes infos que la table "utilisateur"
Sous linux apache, il existe la possibilité de protéger un répertoire à
l'aide de directives, faisant appel à un module Perl, placées dans
httpd.conf ou .htaccess, accédant à une table de BD Mysql, mais j'aimerais
me passer de Perl.
Est-il possible de réaliser une authentification apache, quelque soit le
document accédé dans ce répertoire en utilisant un "mécanisme"
d'authentification php-mysql-apache du même type que celui que je viens de
décrire avec Perl. J'ai pas mal cherché sur le web mais je ne trouve pas.
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
lowlevel
bonjour, tu peux toujours faire un script qui lorsque tu créer un nouvel utilisateur va mettre à jour tes fichiers htaccess et htpasswd. ou faire tourner régulièrement par CRON un script qui balaye ta table...tout dépend comment sont crées tes utilisateurs.
voilà voilà...
"Pascal Gend" a écrit dans le message de news: ck0ef0$kdh$
Bonjour,
Je cherche des solutions pour protéger un répertoire de l'arborescence web d'apache en utilisant php/apache/mysql : un répertoire à protéger contenant des fichiers php et des fichiers statiques (html, pdf,...). Je vois avec php comment écrire des scripts qui chacun vérifient qu'un utilisateur s'est loggé (avec contrôle sur les champs login,password dans une table "utilisateur" BD Mysql) : en utilisant par ex. le mécanisme des sessions chaque script vérifie que l'authentification a été réalisée mais celà ne protège pas l'accès à des fichiers (type pdf). Il me faut encore un fichier (htaccess), qui contienne les mêmes infos que la table "utilisateur" Sous linux apache, il existe la possibilité de protéger un répertoire à l'aide de directives, faisant appel à un module Perl, placées dans httpd.conf ou .htaccess, accédant à une table de BD Mysql, mais j'aimerais me passer de Perl. Est-il possible de réaliser une authentification apache, quelque soit le document accédé dans ce répertoire en utilisant un "mécanisme" d'authentification php-mysql-apache du même type que celui que je viens de décrire avec Perl. J'ai pas mal cherché sur le web mais je ne trouve pas.
Merci,
Pascal
bonjour,
tu peux toujours faire un script qui lorsque tu créer un nouvel utilisateur
va mettre à jour tes fichiers htaccess et htpasswd.
ou faire tourner régulièrement par CRON un script qui balaye ta
table...tout dépend comment sont crées tes utilisateurs.
voilà voilà...
"Pascal Gend" <gend@esstin.uhp-nancy.fr> a écrit dans le message de news:
ck0ef0$kdh$1@arcturus.ciril.fr...
Bonjour,
Je cherche des solutions pour protéger un répertoire de l'arborescence web
d'apache en utilisant php/apache/mysql : un répertoire à protéger
contenant
des fichiers php et des fichiers statiques (html, pdf,...).
Je vois avec php comment écrire des scripts qui chacun vérifient qu'un
utilisateur s'est loggé (avec contrôle sur les champs login,password dans
une table "utilisateur" BD Mysql) : en utilisant par ex. le mécanisme des
sessions chaque script vérifie que l'authentification a été réalisée mais
celà ne protège pas l'accès à des fichiers (type pdf). Il me faut encore
un
fichier (htaccess), qui contienne les mêmes infos que la table
"utilisateur"
Sous linux apache, il existe la possibilité de protéger un répertoire à
l'aide de directives, faisant appel à un module Perl, placées dans
httpd.conf ou .htaccess, accédant à une table de BD Mysql, mais j'aimerais
me passer de Perl.
Est-il possible de réaliser une authentification apache, quelque soit le
document accédé dans ce répertoire en utilisant un "mécanisme"
d'authentification php-mysql-apache du même type que celui que je viens de
décrire avec Perl. J'ai pas mal cherché sur le web mais je ne trouve pas.
bonjour, tu peux toujours faire un script qui lorsque tu créer un nouvel utilisateur va mettre à jour tes fichiers htaccess et htpasswd. ou faire tourner régulièrement par CRON un script qui balaye ta table...tout dépend comment sont crées tes utilisateurs.
voilà voilà...
"Pascal Gend" a écrit dans le message de news: ck0ef0$kdh$
Bonjour,
Je cherche des solutions pour protéger un répertoire de l'arborescence web d'apache en utilisant php/apache/mysql : un répertoire à protéger contenant des fichiers php et des fichiers statiques (html, pdf,...). Je vois avec php comment écrire des scripts qui chacun vérifient qu'un utilisateur s'est loggé (avec contrôle sur les champs login,password dans une table "utilisateur" BD Mysql) : en utilisant par ex. le mécanisme des sessions chaque script vérifie que l'authentification a été réalisée mais celà ne protège pas l'accès à des fichiers (type pdf). Il me faut encore un fichier (htaccess), qui contienne les mêmes infos que la table "utilisateur" Sous linux apache, il existe la possibilité de protéger un répertoire à l'aide de directives, faisant appel à un module Perl, placées dans httpd.conf ou .htaccess, accédant à une table de BD Mysql, mais j'aimerais me passer de Perl. Est-il possible de réaliser une authentification apache, quelque soit le document accédé dans ce répertoire en utilisant un "mécanisme" d'authentification php-mysql-apache du même type que celui que je viens de décrire avec Perl. J'ai pas mal cherché sur le web mais je ne trouve pas.
Merci,
Pascal
Cleo
Et si tu téléchargeais systématiquement tes fichiers à l'aide de php en évitant un accès direct depuis apache ?
Je te propose une méthode qui peut permettre de 1) mettre physiquement les fichiers dans une zone inaccessible partir d'une connexion apache 2) gérer la sécurité grâce à des informations stockées en base.
Si tu mets en place un système se lançant à partir d'un GET type: http://blabla/download.php?file=id
Voici un squelette de code ...
<? //download.php require_once("File.php");
$f = &new File(); if(!$f->setId($_GET("id"))) { if( $f->canRead($user)) { header("Content-Type: ".$f->mimeType())); header("Content-Length: ".$f->size()); $f->read(); } else { echo "vous n'avez pas les droits"; } } else { echo "le fichier est inexitant"; } ?>
s'appuyant sur une class File: <? //file.php
class File { var $filename; function File() { } function setId() { .... return bool } // définit l'id du fichier et sa présence en base .. récupére le nom du fichier function canRead() { .... return bool } // C'est toi qui gère tes droits function mimeType() { return mime_content_type($this->filename); } function size() { return filesize($this->filename); } function read(); { readfile($this->filename); } } ?>
voilà maintenant, écrasez-moi de critiques ;) ...
Et si tu téléchargeais systématiquement tes fichiers à l'aide de php en
évitant un accès direct depuis apache ?
Je te propose une méthode qui peut permettre de
1) mettre physiquement les fichiers dans une zone inaccessible partir d'une
connexion apache
2) gérer la sécurité grâce à des informations stockées en base.
Si tu mets en place un système se lançant à partir d'un GET type:
http://blabla/download.php?file=id
Voici un squelette de code ...
<? //download.php
require_once("File.php");
$f = &new File();
if(!$f->setId($_GET("id")))
{
if( $f->canRead($user))
{
header("Content-Type: ".$f->mimeType()));
header("Content-Length: ".$f->size());
$f->read();
}
else
{
echo "vous n'avez pas les droits";
}
}
else
{
echo "le fichier est inexitant";
}
?>
s'appuyant sur une class File:
<? //file.php
class File
{
var $filename;
function File() { }
function setId() { .... return bool } // définit l'id du
fichier et sa présence en base .. récupére le nom du fichier
function canRead() { .... return bool } // C'est toi qui gère
tes droits
function mimeType() { return mime_content_type($this->filename); }
function size() { return filesize($this->filename); }
function read(); { readfile($this->filename); }
}
?>
Et si tu téléchargeais systématiquement tes fichiers à l'aide de php en évitant un accès direct depuis apache ?
Je te propose une méthode qui peut permettre de 1) mettre physiquement les fichiers dans une zone inaccessible partir d'une connexion apache 2) gérer la sécurité grâce à des informations stockées en base.
Si tu mets en place un système se lançant à partir d'un GET type: http://blabla/download.php?file=id
Voici un squelette de code ...
<? //download.php require_once("File.php");
$f = &new File(); if(!$f->setId($_GET("id"))) { if( $f->canRead($user)) { header("Content-Type: ".$f->mimeType())); header("Content-Length: ".$f->size()); $f->read(); } else { echo "vous n'avez pas les droits"; } } else { echo "le fichier est inexitant"; } ?>
s'appuyant sur une class File: <? //file.php
class File { var $filename; function File() { } function setId() { .... return bool } // définit l'id du fichier et sa présence en base .. récupére le nom du fichier function canRead() { .... return bool } // C'est toi qui gère tes droits function mimeType() { return mime_content_type($this->filename); } function size() { return filesize($this->filename); } function read(); { readfile($this->filename); } } ?>
voilà maintenant, écrasez-moi de critiques ;) ...
Marc
voilà maintenant, écrasez-moi de critiques ;) ...
c'est tout simplement parfait et LA bonne methode. php devant faire l'interface entre l'utilisateur et le systeme de fichiers.
voilà maintenant, écrasez-moi de critiques ;) ...
c'est tout simplement parfait et LA bonne methode.
php devant faire l'interface entre l'utilisateur
et le systeme de fichiers.
c'est tout simplement parfait et LA bonne methode. php devant faire l'interface entre l'utilisateur et le systeme de fichiers.
Sebastien Bourgasser
Pascal Gend wrote:
Bonjour,
Je cherche des solutions pour protéger un répertoire de l'arborescence web d'apache en utilisant php/apache/mysql : un répertoire à protéger contenant des fichiers php et des fichiers statiques (html, pdf,...). Je vois avec php comment écrire des scripts qui chacun vérifient qu'un utilisateur s'est loggé (avec contrôle sur les champs login,password dans une table "utilisateur" BD Mysql) : en utilisant par ex. le mécanisme des sessions chaque script vérifie que l'authentification a été réalisée mais celà ne protège pas l'accès à des fichiers (type pdf). Il me faut encore un fichier (htaccess), qui contienne les mêmes infos que la table "utilisateur" Sous linux apache, il existe la possibilité de protéger un répertoire à l'aide de directives, faisant appel à un module Perl, placées dans httpd.conf ou .htaccess, accédant à une table de BD Mysql, mais j'aimerais me passer de Perl. Est-il possible de réaliser une authentification apache, quelque soit le document accédé dans ce répertoire en utilisant un "mécanisme" d'authentification php-mysql-apache du même type que celui que je viens de décrire avec Perl. J'ai pas mal cherché sur le web mais je ne trouve pas.
Bonsoir,
Si tu disposes de ton propre serveur, tu peux alors regarder du coté du module apache "mysql_auth_module". Ce module te permet de creer un .htaccess qui verifie le login/pass dans une base mysql.
Tu n'auras alors pas besoin de scripter quoi que ce soit.
Cordialement,
-- Sébastien Bourgasser. http://www.anpsedic.org/
Pascal Gend wrote:
Bonjour,
Je cherche des solutions pour protéger un répertoire de
l'arborescence web d'apache en utilisant php/apache/mysql : un
répertoire à protéger contenant des fichiers php et des fichiers
statiques (html, pdf,...).
Je vois avec php comment écrire des scripts qui chacun vérifient qu'un
utilisateur s'est loggé (avec contrôle sur les champs login,password
dans une table "utilisateur" BD Mysql) : en utilisant par ex. le
mécanisme des sessions chaque script vérifie que l'authentification a
été réalisée mais celà ne protège pas l'accès à des fichiers (type
pdf). Il me faut encore un fichier (htaccess), qui contienne les
mêmes infos que la table "utilisateur" Sous linux apache, il existe
la possibilité de protéger un répertoire à l'aide de directives,
faisant appel à un module Perl, placées dans httpd.conf ou .htaccess,
accédant à une table de BD Mysql, mais j'aimerais me passer de Perl.
Est-il possible de réaliser une authentification apache, quelque soit
le document accédé dans ce répertoire en utilisant un "mécanisme"
d'authentification php-mysql-apache du même type que celui que je
viens de décrire avec Perl. J'ai pas mal cherché sur le web mais je
ne trouve pas.
Bonsoir,
Si tu disposes de ton propre serveur, tu peux alors regarder du coté du
module apache "mysql_auth_module".
Ce module te permet de creer un .htaccess qui verifie le login/pass dans une
base mysql.
Tu n'auras alors pas besoin de scripter quoi que ce soit.
Je cherche des solutions pour protéger un répertoire de l'arborescence web d'apache en utilisant php/apache/mysql : un répertoire à protéger contenant des fichiers php et des fichiers statiques (html, pdf,...). Je vois avec php comment écrire des scripts qui chacun vérifient qu'un utilisateur s'est loggé (avec contrôle sur les champs login,password dans une table "utilisateur" BD Mysql) : en utilisant par ex. le mécanisme des sessions chaque script vérifie que l'authentification a été réalisée mais celà ne protège pas l'accès à des fichiers (type pdf). Il me faut encore un fichier (htaccess), qui contienne les mêmes infos que la table "utilisateur" Sous linux apache, il existe la possibilité de protéger un répertoire à l'aide de directives, faisant appel à un module Perl, placées dans httpd.conf ou .htaccess, accédant à une table de BD Mysql, mais j'aimerais me passer de Perl. Est-il possible de réaliser une authentification apache, quelque soit le document accédé dans ce répertoire en utilisant un "mécanisme" d'authentification php-mysql-apache du même type que celui que je viens de décrire avec Perl. J'ai pas mal cherché sur le web mais je ne trouve pas.
Bonsoir,
Si tu disposes de ton propre serveur, tu peux alors regarder du coté du module apache "mysql_auth_module". Ce module te permet de creer un .htaccess qui verifie le login/pass dans une base mysql.
Tu n'auras alors pas besoin de scripter quoi que ce soit.