IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Gestionnaire de téléchargement fichier : cacher lien direct


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 96
    Points : 45
    Points
    45
    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.

  2. #2
    Membre actif Avatar de Mogwaï
    Inscrit en
    Mai 2004
    Messages
    247
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2004
    Messages : 247
    Points : 278
    Points
    278
    Par défaut
    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 !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 96
    Points : 45
    Points
    45
    Par défaut
    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.

  4. #4
    Membre actif Avatar de Mogwaï
    Inscrit en
    Mai 2004
    Messages
    247
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2004
    Messages : 247
    Points : 278
    Points
    278
    Par défaut
    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 !

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 96
    Points : 45
    Points
    45
    Par défaut
    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.

  6. #6
    FMC
    FMC est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 25
    Points : 19
    Points
    19
    Par défaut
    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.

  7. #7
    Membre actif Avatar de Mogwaï
    Inscrit en
    Mai 2004
    Messages
    247
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2004
    Messages : 247
    Points : 278
    Points
    278
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 !

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 96
    Points : 45
    Points
    45
    Par défaut
    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.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 253
    Points : 74
    Points
    74
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
     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 : Sélectionner tout - Visualiser dans une fenêtre à part
    dl.php?d1=Mon_Dossier&f1=Mon_Fichier
    Et au début de cette page, j'ai mis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lister fichier d'un dossier avec icone et lien direct contenu dans un cd
    Par TaurusCom dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 05/04/2014, 20h16
  2. Lien téléchargement fichier avec un autre nom
    Par Lucas Panny dans le forum Langage
    Réponses: 2
    Dernier message: 20/07/2010, 16h57
  3. Réponses: 3
    Dernier message: 16/11/2008, 22h07
  4. Protéger fichier contre lien direct
    Par Nerull dans le forum Langage
    Réponses: 11
    Dernier message: 12/05/2008, 12h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo