2010-11-21 8 views
0

J'ai besoin d'une méthode très avancée et efficace pour empêcher les utilisateurs de télécharger le fichier depuis le site Web directement sur asp.net.Empêcher les utilisateurs de télécharger le fichier directement depuis le site Web, comment?

méthode doit -

téléchargements limites, temps limite, demandes limites, etc.

mais devrait être téléchargeable par les utilisateurs de connexion actifs

+2

Vous devrez fournir un scénario très détaillé pour obtenir une réponse sensible. Fournir tous les détails pertinents afin d'aider les gens à fournir des réponses utiles. En l'état actuel des choses, la réponse à votre question est: ne placez pas le fichier sur le serveur. De cette façon, personne ne peut le télécharger. –

+0

Quel type de fichier? – Ruel

+0

tout type de fichier (.zip, .exe, .msi, .rar) – Code0987

Répondre

1

stocker les fichiers dans un dossier non accessible via IIS (c.-à-pas sous votre racine de l'application Web)

Créer un gestionnaire générique .ashx qui prend un identifiant de fichier (nom de fichier, ou l'ID d'une sorte) en tant que paramètre QueryString.

Dans ce fichier .ashx, effectuez les contrôles que vous souhaitez effectuer: l'utilisateur est-il connecté? Ont-ils téléchargé trop de fichiers? etc.

Ensuite, si vous décidez qu'ils devraient être autorisés à le télécharger, définissez les en-têtes de réponse appropriée et écrire le fichier vers Response.OutputStream

+0

je suis satisfait. Merci – Code0987

2

Supprimer le fichier du serveur.

Tout utilisateur essayant de le télécharger ne réussira plus.

2

Vous pouvez placer vos fichiers dans un répertoire et configurer ce répertoire comme étant inaccessible aux utilisateurs publics.

+0

mais les utilisateurs non publics sont regroupés (libre, normal, alimentation) – Code0987

+0

une option pourrait être de créer des répertoires imbriqués. Par exemple, créez un répertoire nommé "free_user_files". Dans ce répertoire, créez un autre répertoire "normal_user_files". Et dans le fichier "normal_user_files", créez un autre répertoire nommé "power_user_files". faire ensuite les éléments suivants: a) Donner à tous les 3 groupes, l'accès aux « normal_user_files » b) Ne donner que les utilisateurs normaux et puissance, l'accès aux « normal_user_files » c) Enfin, donner uniquement aux utilisateurs de pouvoir, l'accès dans le répertoire le plus interne "power_user_files". – Hps

Questions connexes