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

ASP.NET Discussion :

Comment faire pour cacher le lien d'un téléchargement?


Sujet :

ASP.NET

  1. #1
    Membre habitué
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2007
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2007
    Messages : 173
    Points : 161
    Points
    161
    Par défaut Comment faire pour cacher le lien d'un téléchargement?
    Bonjour à tous,

    Mon problème est le suivant:
    Je propose des téléchargements sur certaines de mes pages, sachant que l'accès à ces pages est soumis à une authentification.
    Ce dont je craint, c'est qu'un utilisateur qui à l'accès à ces pages communique les liens des fichiers auxquels il aura droit.

    Mes questions:
    • Y a t-il un moyen de cacher les URL des liens?
    • Admettons qu'un utilisateur est réussit à récupérer une URL, est-ce possible d'interdire le téléchargement?


    Je précise que je suis sur un hébergement mutualisé et que je développe en ASP.NET / C# / SQL SERVER 2005

    Merci par avance

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 205
    Points : 206
    Points
    206
    Par défaut
    Il faudrait que le fichier ne soit pas en lecture de l'exterieur pour quiconque.

    Je pense qu'il doit être possible de récupérer un stream et de le renvoyer a l'utilisateur avec un response.XXXX()

    A vérifier, jamais mis en oeuvre personnellement, disons que ca peut être un début de piste.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2003
    Messages : 353
    Points : 361
    Points
    361
    Par défaut
    Et si le lien passait par une gestion de droit gérée dans un handler (.ashx) ?

  4. #4
    Membre habitué
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2007
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2007
    Messages : 173
    Points : 161
    Points
    161
    Par défaut
    Bonjour et merci,

    La solution du Handler (.ashx) serait la plus adaptée dans mon cas.
    N'ayant jamais utilisé ce type de fichier, pourriez-vous m'en dire plus?

  5. #5
    Membre expérimenté Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Points : 1 352
    Points
    1 352
    Par défaut
    Inspires toi aussi de ce qui est deja fait sur le net, comme par exemple de changer l'adresse de telechargement de ton fichier.

    Lors d'une demande par un utilisateur authentifié, tu generes une adresse de telechargement qui sera valable un certain temps, au bout duquel, le téléchargement ne sera plus accessible à partir de cette adresse.

    Pour l'ashx, fais une eptite recherche google, il y a plein de lien qui en parle...

    Bon code,

  6. #6
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2003
    Messages : 353
    Points : 361
    Points
    361
    Par défaut
    Arf, je voudrais bien t'aider plus mais je n'ai pas assez de connaissance sur les Handler, mais tu peux trouver de l'aider ici

    http://humann.developpez.com/httphandler/#LII

    En gros, un handler récupère une requête HTTP, tu peux y réaliser un traitement, et renvoyer une réponse au client.

    Pour ton cas, il faudrait que tu aies des liens particuliers gérés par toi sur ta page
    "monlien?fic=fichier1"
    En cliquant dessus, ca passe par ton handler qui récupére cette URL et renvoie le fichier téléchargé en fonction.
    De plus dans ton traitement, tu pourrais faire une gestion de droit.
    Mais c'est juste un idée.

    Pour ma part, j'ai eu besoin de faire ca mais j'ai fait d'une autre manière.
    Un moment sur mon site, je liste le contenu d'un répertoire.
    en liste le contenu je sauvegarde en session la liste des fichiers (et leur vrai chemin) en attribuant "un identifiant"
    du coup, j'ai des liens de la forme "mapage.aspx?var=ici&dl=0"

    dl (pour download) avec l'indice du fichier que j'ai à télécharger.
    En cliquant sur le lien, je fais un traitement des paramètres et récupérant chaque variable (dans le page_load).

    Je vois dl=0, je vais regarder dans la session le fichier correspondant à l'indice 0, et je lance le téléchargement du fichier.

    Mais dans mon site, avant d'arriver à cette page, il y a eu une gestion des droits qui est faite, donc si un utilisateur tape directement cette url, ca ne passera pas.

    En espérant que cela puisse t'aider.

Discussions similaires

  1. Comment faire pour qu'un lien executer cette commande
    Par pierrot10 dans le forum jQuery
    Réponses: 0
    Dernier message: 28/07/2013, 22h53
  2. [HTML 4.0] Comment faire pour envoyer un lien d'une boite de listes select?
    Par jlb59 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 17/09/2010, 11h49
  3. [MySQL] Comment faire pour avoir un lien sur les pages suivantes/précédentes
    Par Meewix dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 21/10/2006, 10h32
  4. Réponses: 4
    Dernier message: 04/07/2006, 17h37
  5. Réponses: 3
    Dernier message: 16/12/2005, 12h13

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