Limitation d'accès à un téléchargement
5 messages
• Page 1 sur 1
- John Smith
- WRInaute impliqué

- Messages: 526
- Inscription: 4 Avr 2007
Limitation d'accès à un téléchargement
Bonjour,
Comment limiter l'accès au téléchargement d'un fichier qu'aux personnes qui seraient par exemple inscrites sur mon forum (PHPBB). Sachant que le chemin de ce fichier (zip) est facilement repérable a postériori.
Merci de me m'éclairer de vos conseils
Comment limiter l'accès au téléchargement d'un fichier qu'aux personnes qui seraient par exemple inscrites sur mon forum (PHPBB). Sachant que le chemin de ce fichier (zip) est facilement repérable a postériori.
Merci de me m'éclairer de vos conseils
-

Bacteries - WRInaute passionné

- Messages: 1369
- Inscription: 27 Mai 2004
boby> Ca réponds pas forcément à son soucis.
Les liens pour les zips sont où?
Tu veux que seuls les membres autentifié puisse télécharger le zip ou juste puisse voir les liens?
Pour le second cas je suppose que c'est pas ce que tu veux vu qu'il suffirait de mettre les liens dans une section réservé au membre du forum.
Pour la seconde il faut faire un script PHP qui regarde si tu es connecté, si oui qui te "sert" le fichier.
Les liens pour les zips sont où?
Tu veux que seuls les membres autentifié puisse télécharger le zip ou juste puisse voir les liens?
Pour le second cas je suppose que c'est pas ce que tu veux vu qu'il suffirait de mettre les liens dans une section réservé au membre du forum.
Pour la seconde il faut faire un script PHP qui regarde si tu es connecté, si oui qui te "sert" le fichier.
- John Smith
- WRInaute impliqué

- Messages: 526
- Inscription: 4 Avr 2007
Bacteries a écrit:boby> Ca réponds pas forcément à son soucis.
Les liens pour les zips sont où?
Tu veux que seuls les membres autentifié puisse télécharger le zip ou juste puisse voir les liens?
Pour le second cas je suppose que c'est pas ce que tu veux vu qu'il suffirait de mettre les liens dans une section réservé au membre du forum.
Pour la seconde il faut faire un script PHP qui regarde si tu es connecté, si oui qui te "sert" le fichier.
Oui c'est bien le premier cas. Mais le soucis c'est que je sais si l'utilisateur est connecté ou pas mais comment lui interdire l'accès au fichier à télécharger (en l'occurence ici un fichier zip) si celui-ci n'est pas connecté mais connait l'adresse directe qui donne accès au fichier.
- John Smith
- WRInaute impliqué

- Messages: 526
- Inscription: 4 Avr 2007
Eh bien, j'ai trouvé une solution très satisfaisante en partant d'un script PHP qui permet le téléchargement d'un fichier de la manière suivante :
Ensuite mettre autour la tripaille PHPBB ça donne le fichier que j'appelle download.php :
Quand cette page php est appelé par un lien par exemple, si l'utilisateur n'est pas connecté, il est redirigé sur la page de login de PHPBB et une fois connectée reçoit directement le fichier en téléchargement (c'est peut-être à modifier ça !).
Pour finir je protège par un .htaccess le répertoire qui contient le fichier à télécharger.
On peut aussi faire la même chose avec un PDF qu'on a placé dans un répertoire protégé. On change l'extension du fichier et on remplace :
par
Voilà, ça f'ra 10 francs !
- Code: Tout sélectionner
$file = "nom_du_fichier.zip";
if(file_exists($file) && is_file($file))
{
header("Cache-control: private");
header("Content-Type: application/octet-stream");
header("Content-Length: ".filesize($file));
header("Content-Disposition: filename=$file");
flush();
$fd = fopen($file, "r");
echo fread($fd, filesize($file));
fclose ($fd);
}
Ensuite mettre autour la tripaille PHPBB ça donne le fichier que j'appelle download.php :
- Code: Tout sélectionner
<?php
define('IN_PHPBB', true);
$phpbb_root_path = '../forum/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//
// Start session management
//
$userdata = session_pagestart($user_ip, ACCUEIL);
init_userprefs($userdata);
//
// End session management
//
if ( !$userdata['session_logged_in'] )
{
redirect(append_sid("login.".$phpEx."?redirect=download.php", true));
}
else
{
$file = "nom_du_fichier.zip";
if(file_exists($file) && is_file($file))
{
header("Cache-control: private");
header("Content-Type: application/octet-stream");
header("Content-Length: ".filesize($file));
header("Content-Disposition: filename=$file");
flush();
$fd = fopen($file, "r");
echo fread($fd, filesize($file));
fclose ($fd);
}
}
?>
Quand cette page php est appelé par un lien par exemple, si l'utilisateur n'est pas connecté, il est redirigé sur la page de login de PHPBB et une fois connectée reçoit directement le fichier en téléchargement (c'est peut-être à modifier ça !).
Pour finir je protège par un .htaccess le répertoire qui contient le fichier à télécharger.
On peut aussi faire la même chose avec un PDF qu'on a placé dans un répertoire protégé. On change l'extension du fichier et on remplace :
- Code: Tout sélectionner
header("Content-Type: application/octet-stream");
par
- Code: Tout sélectionner
header("Content-type: application/pdf");
Voilà, ça f'ra 10 francs !
5 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- YouTube VoD (vidéo à la demande) : YouTube payant ! - 29-04-2010
- Google Chrome dépasse Safari aux USA - 29-06-2010
- GoogleStats : analyse temps réel des visites de Google sur votre site - 02-10-2002
- Google Page Creator - 23-02-2006
- SeoQuake : tutoriel détaillé, par Olivier Duffez - 30-08-2010
- Google Analytics (ex Urchin) gratuit - 14-11-2005
- Conseils de netlinking pour Bing (par Microsoft) - 02-07-2009
Consultez la description détaillée des produits ou services de Google suivants : Google Web Accelerator
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités


