Aller au contenu

Sujets conseillés

Posté

Bonjour,

Je souhaiterais protéger des fichiers par Htaccess et en fonction des utilisateurs je voudrais que mon script php leurs donne accés à ces fichiers ou non.

Est ce possible ?

En bref je voudrais que certains de mes utilisateurs aient accés à des fichiers et d'autres non ( un utilisateur peut avoir accés a un seul fichier, 2, 3... c'est trés divers et doit etre dynamique )

Si vous avez également d'autres solutions je suis prenneur.

Merci beaucoup pour votre réponse,

Cordialement.

Posté

Hello,

Est-ce qu'un FTP ne répondrait pas mieux à tes besoins ? Tu parles d'un accès aux fichiers ici donc cela me semble plus adapté. En revanche s'il s'agissait d'un accès à du contenu (pages, articles, etc...) tu pourrais essayer de chercher un module de gestion de droit qui serait efficace.

Cdlt

Posté

Je fais le site internet d'un ami qui est compositeur / chanteur.

Il aura donc des mp3 libre d'écoute mais limité dans le temps (non protégés).

Par l'intermédiaire de allopass les personnes pourront acheter ses musiques et donc avoir la possibilité de télécharger uniquement les musiques qu'il a acheté.

Posté

J'imagine que tes utilisateurs sont dans une base de donnees, dans ce cas, tu peux regarder mod_dbd d'apache 2.2 ... mais quant une nouvelle version d'apache sortira car la version actuelle est completement buggee et ne fonctionne pas :evil:

Pour palier a ce probleme, je fais l'authentification directement en PHP :

function Authentification($usr, $func=false, $realm='Mais qui etes vous'){
global $_SERVER;

if(!$usr->ok() || // L'utilisateur n'existe pas
!$usr->verifPasswd($_SERVER['PHP_AUTH_PW']) || // Le mot de passe ne correspond pas
($func && !$usr->$func()) // L'utilisateur n'a pas la bonne capacite
){
$usr->invalide(); // Pour etre sur que l'utilisateur ne peut rien faire.
header("WWW-Authenticate: Basic realm=\"$realm\"");
header('HTTP/1.0 401 Unauthorized');
die('*F* Vous devez vous authentifier pour acceder a cette page.');
}

Bon, faut adapter et je ne vais pas sortir tout mon code (trop long :whistling: ) mais en resume, $usr est une classe qui est initialisee d'apres la valeur de $_SERVER['PHP_AUTH_USER']. Elle contient plusieurs methodes pour qualifier l'utilisateur et en particulier,

	function verifPasswd( $pw ){
return(crypt($pw, $this->getPasswd()) == $this->getPasswd());
}

quio verifie que le mot de passe fourni par le visiteur correspond bien a celui stoque dans la database (qui est crypte), recupere par la methode getPasswd().

A nouveau, je ne rentre pas dans les details, c'est juste pour te donner une idee comment ca fonctionne :smartass:

Lolo

Posté

Suite a mes echanges par MP avec conceptone.

Pour des téléchargements de mp3 est ce que ça les protèges ?

Cad si quelqu'un a un lien direct a t il le droit de les prendre ou pas ? http://mondi.com/musique.mp3

Il faudrait que le système protège le mp3 en fonction de mon programme php (qui gerre les utilisateurs)

Alors, c'est tres simples, dans le repertoire des .mp3, il faut rajouter un .htaccess comme suit :

Action audio/mpeg   protmp3.php

et un protmp3.php qui contient un code du genre :

<?php
Authentification( new Utilisateur($_SERVER['PHP_AUTH_USER'])); // Fonction d'authentification du post precedent

header('content-type: audio/mpeg');
readfile($_SERVER['PATH_TRANSLATED']);
?>

A noter que la fonction Authentification() comme je l'ai code ci-dessous ne rend la main que si l'utilisateur est correctement authentifie.

Y'a plus qu'a adapter ;) ...

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...