Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/03/2006, 22h02   #1
Membre régulier
 
Inscription : mai 2003
Messages : 127
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 127
Points : 87
Points : 87
Par défaut [Cookies] Protection de fichiers

Bonjour,

Je crée un intranet avec partage de fichiers.
Certains fichiers sont accessibles à certains groupes d'utilisateurs.
Aucun problème pour développer ça.
Le problème vient plutôt du fait que lorsqu'on tappe www.monurl.com/mondossier, on tombe sur tous les fichiers et on peut bien sur les télécharger.
Ma question est, comment éviter cela?
J'ai essaié avec un htaccess, il bloque bien l'accès au répertoire mais même les demande de téléchargement depuis l'espace membre sont bloquées.

Quelqu'un a-t-il une idée?

Merci d'avance!
Mookie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 22h13   #2
Membre confirmé
 
Avatar de leodi
 
Homme Paul Bizouard
Directeur technique
Inscription : février 2004
Messages : 173
Détails du profil
Informations personnelles :
Nom : Homme Paul Bizouard
Âge : 22
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : Communication - Médias

Informations forums :
Inscription : février 2004
Messages : 173
Points : 202
Points : 202
Envoyer un message via MSN à leodi
met un fichier index.php vide ?
leodi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 22h27   #3
Membre confirmé
 
Matthieu
Étudiant
Inscription : septembre 2004
Messages : 381
Détails du profil
Informations personnelles :
Nom : Matthieu
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2004
Messages : 381
Points : 278
Points : 278
Citation:
Envoyé par leodi
met un fichier index.php vide ?
j'ai pencer exactement a la méme chose .... mais tu peux faire mieu , avec index.php , faire pour que tu enregistre son ip , envoi de cookies ....

Puis aprés tu l'insére dans ton script ...
paterson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 22h31   #4
Membre confirmé
 
Avatar de leodi
 
Homme Paul Bizouard
Directeur technique
Inscription : février 2004
Messages : 173
Détails du profil
Informations personnelles :
Nom : Homme Paul Bizouard
Âge : 22
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : Communication - Médias

Informations forums :
Inscription : février 2004
Messages : 173
Points : 202
Points : 202
Envoyer un message via MSN à leodi
Pour faire quoi ? L'index.php est juste là pour "masquer" le contenu du dossier. Eventuelement mettre une redirection javascript dedan ?

Code :
<script language="JavaScript">window.location='index.php'</script>
leodi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 22h40   #5
Membre confirmé
 
Matthieu
Étudiant
Inscription : septembre 2004
Messages : 381
Détails du profil
Informations personnelles :
Nom : Matthieu
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2004
Messages : 381
Points : 278
Points : 278
s'est simple si tu fonctionne par les sessions ,

session_start();
$_session['tricheur']="oui";
Donc tu peux faire se que tu souhaite sur sa session ....

Le bloquer , avertissement ... comme sa sa l'apprenderas a étre curieux ...
paterson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 22h53   #6
Membre régulier
 
Inscription : mai 2003
Messages : 127
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 127
Points : 87
Points : 87
Comme dit leodi, l'index ne fait que masquer le contenu du dossier.
Mais si on tappe l'url du fichier, on y accède sans problème, qu'on soit connecté ou non.

Pour ce qui concerne les variables de sessions ça n'arrange pas le problème.
Si le visiteur tappe /mondossier/lefichier.txt, ça ne passe nullement par une page php ou autre, c'est un accès direct au fichier, donc les sessions ne sont d'aucune utilité.
Mookie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 22h59   #7
Membre confirmé
 
Avatar de leodi
 
Homme Paul Bizouard
Directeur technique
Inscription : février 2004
Messages : 173
Détails du profil
Informations personnelles :
Nom : Homme Paul Bizouard
Âge : 22
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : Communication - Médias

Informations forums :
Inscription : février 2004
Messages : 173
Points : 202
Points : 202
Envoyer un message via MSN à leodi
Ba arrange toi pour que perosnne ne conaisse ce lien, ouvre une popup qui force le téléchargement (là où tu dois télécharger le fichier) puis referme la aussitot ?
leodi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 23h03   #8
Membre régulier
 
Inscription : mai 2003
Messages : 127
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 127
Points : 87
Points : 87
C'est bon, je crois que j'ai trouvé un système.
Je protège le répertoire par un htaccess.
Ensuite je crée un fichier download.php par lequel toute demande de téléchargement passe.
Sur cette page je fais les vérifications en fonction des différents droits et si le téléchargement est possible, je l'effectue via une fonction du style :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
<?php
// infos du fichier
$fichier = 'up/1images.jpg';
$nom_fichier = '1images.jpg';
 
// téléchargement du fichier
header('Content-disposition: attachment; filename='.$nom_fichier);
header('Content-Type: application/force-download');
header('Content-Transfer-Encoding: fichier'); 
header('Content-Length: '.filesize($fichier));
header('Pragma: no-cache');
header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
header('Expires: 0');
readfile($fichier);
?>
Donc toute personne qui accède au dossier est bloquée par le htaccess et tout téléchargement depuis le site est contrôlé!
C'est parfait!

Merci et a+
Mookie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 09h45   #9
Invité de passage
 
Inscription : septembre 2006
Messages : 1
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 1
Points : 1
Points : 1
Par défaut j'ai pas compris

est-ce que tu pourrais préciser ?
yvonig est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 09h52   #10
Membre Expert
 
Inscription : juillet 2004
Messages : 1 033
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 1 033
Points : 1 050
Points : 1 050
Pourquoi tu ne déplaces pas tout simplement mondossier hors de la racine web, et donc par conséquent le rendre inaccessible via apache.
ePoX est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h32.


 
 
 
 
Partenaires

Hébergement Web