Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
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 19/11/2007, 10h31   #1
Candidat au titre de Membre du Club
 
Inscription : décembre 2005
Messages : 84
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 84
Points : 13
Points : 13
Par défaut Gestionnaire de téléchargement fichier : cacher lien direct

Bonjour,

J'ai quelques soucis avec mon hebergeur car il vient de me brider fortement la Bande Passante suite à des telechargements massifs chinois, qui avec leurs sofwares me pompent sans arret..

Par defaut, j'avais mis en place un simple dl.php?fichier=1 qui correspond admettons à un chemin/de/mon/fichier/fichier.rar qui etait envoyé par header pour telecharger ce dernier.

A ce que je vois ca a pas suffit.

Quels sont mes methodes, carrement plus securisé que je peux faire, sachant que je suis sur mutualisé et que tant que ce n'est pas protegé, ils refusent categoriquement de retirer la bride.


Merci de votre aide.
Kijer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2007, 18h50   #2
Membre confirmé
 
Avatar de Mogwaï
 
Inscription : mai 2004
Messages : 247
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mai 2004
Messages : 247
Points : 243
Points : 243
Envoyer un message via MSN à Mogwaï
Qu'est ce que tu n'as pas le droit de faire ?
Mettre en ligne un fichier .rar ?
Tu veux faire quoi exactement, empêcher les chinois de le télécharger ?
__________________
Etre à son compte, y'a rien de mieux !
Mogwaï est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2007, 19h06   #3
Candidat au titre de Membre du Club
 
Inscription : décembre 2005
Messages : 84
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 84
Points : 13
Points : 13
Techniquement, que tout software, navigateur, soit incapable de récupérer le chemin direct du fichier.

Donc 2 choses :

- que le style dl.php?id=4 ne marche que depuis mon site
- que une fois sur le site, en cliquant sur le lien, qu'il ne puisse pas recuperer le lien direct pour le partager sans passer par le site, sans comptabiliser les stats, et surtout pour eviter le gros leeching des chinois.
Kijer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2007, 19h21   #4
Membre confirmé
 
Avatar de Mogwaï
 
Inscription : mai 2004
Messages : 247
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mai 2004
Messages : 247
Points : 243
Points : 243
Envoyer un message via MSN à Mogwaï
De toute façon robot ou client, tout le monde aura accès à ton fichier, même si tu mets une redirection.

Si tu veux que seuls les "humains" puisse le télécharger, il faut mettre ton fichier dans une zone accessible uniquement pas des utilisateurs enregistrés. Ainsi les robots ne pourront pas y accéder.
__________________
Etre à son compte, y'a rien de mieux !
Mogwaï est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2007, 22h03   #5
Candidat au titre de Membre du Club
 
Inscription : décembre 2005
Messages : 84
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 84
Points : 13
Points : 13
J'y est pensé, mais suffit qu'un seul vienne telecharger, et donne le lien direct, et ma zone membre me sert plus a rien.
Kijer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2007, 00h40   #6
FMC
Invité régulier
 
Inscription : mai 2005
Messages : 25
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 25
Points : 9
Points : 9
Pourquoi ne pas utiliser une méthode d'URL Rewriting (.htaccess).

Par exemple...

Tu définis que /mes/fichiers/rar/lefichierenquestion.rar
est renvoyé sur /mes/fichiers/rar/test.php?f=lefichierenquestion.rar

Et dans le code de ton test.php, tu testes :
1/ Si le HTTP_REFERER vient de ton site
2/ Si l'utilisateur est enregistré
3/ Si l'IP a déjà été utilisée
4/ Que sais-je

Si tes critères sont bons, tu renvoies vers le fichier
Si tes critères ne le sont pas, tu die();

Je pense que ça peut marcher.
FMC est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2007, 02h06   #7
Membre confirmé
 
Avatar de Mogwaï
 
Inscription : mai 2004
Messages : 247
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mai 2004
Messages : 247
Points : 243
Points : 243
Envoyer un message via MSN à Mogwaï
Citation:
Envoyé par Kijer Voir le message
J'y est pensé, mais suffit qu'un seul vienne telecharger, et donne le lien direct, et ma zone membre me sert plus a rien.
Bien entendu si tu ne protèges pas ton fichier en PHP, la zone membre ne sert à rien

Concretement, ton fichier .rar DOIT être dans un repertoire inaccessible. Pour celà tu dois utiliser un .htaccess avec deny all. Ca c'est pour le stockage du "vrai" fichier.

Dans un autre repertoire (qui n'a rien à voir avec le répertoire précédent) accessible au public, tu aurais quelque chose de ce style :

telecharger.php?f=toto.rar

Code :
1
2
3
4
5
6
7
8
9
10
11
12
<?php
    session_start();
    $fichier = $_GET['f'];
 
    /* Faire ici tous les traitement de sécurité pour éviter les injections */
 
    if($_SESSION['user_enregistre']) {
        echo file_get_contents('/chemin/reel/vers/le/$fichier');
    } else {
        echo "Vous n'avez pas le droit de faire celà";
    }
?>
Ainsi, seul quelqu'un qui dispose d'une session valide pourrait ouvrir ce fichier.
__________________
Etre à son compte, y'a rien de mieux !
Mogwaï est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2007, 17h37   #8
Candidat au titre de Membre du Club
 
Inscription : décembre 2005
Messages : 84
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 84
Points : 13
Points : 13
Je viens d'appliquer sur le site, par contre j'avais toujours le lien direct(physique) du fichier.

J'ai essayé avec des header et force download, et depuis c'est bon, en source je n'ai plus que la page php qui le génére.

Mais ton script ne pas était inutile, l'idée de la session, je viens de m'en servir, merci encore.
Kijer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2009, 17h38   #9
Membre du Club
 
Inscription : avril 2008
Messages : 245
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France

Informations forums :
Inscription : avril 2008
Messages : 245
Points : 40
Points : 40
bonjour !

J'ai un probleme un petit peu similaire, je ne veux pas qu'on puisse voir l'URL de mon fichier,
Sur ma page
Code :
 fichier_a_telecharger.php
, au lie ude mettre le lien direct du fichier pour qu'il s'ouvre dans IE, j'ai mis un lien vers
Code :
dl.php?d1=Mon_Dossier&f1=Mon_Fichier
Et au début de cette page, j'ai mis

Code :
1
2
3
4
$fichier = "../".$_GET['d1']."/".$_GET['f1'];
header("Content-disposition: attachment; filename=$fichier");
header("Content-Type: application/force-download");
readfile($fichier);
J'ai d'abord testé avec des pdf, pas de soucis, et ensuite avec un JPG, qui apparait vide quand je le telecharge, et aussi avec des xls qui apparraissent vides aussi.

Quel est le probleme svp?
ju0123456789 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 16h08.


 
 
 
 
Partenaires

Hébergement Web