J'ai une application SL où je devrais implémenter le sous-système de gestion de fichiers. J'ai la structure hiérarchique des fichiers \ dossiers (juste la description). De plus, chaque fichier \ dossier a ses propres permissions sur les utilisateurs \ groupes. Je voudrais implémenter qu'un utilisateur qui a la permission de télécharger le fichier ne pourrait pas le donner à un autre utilisateur, qui n'a pas cette permission. Donc, si l'utilisateur a l'autorisation de téléchargement, il obtient le lien www.site.com/file.rar et le télécharge. Mais il pourrait donner ce lien à une autre personne sans permission. Quel alogorithme est plus approprié dans ce cas? Toute aide serait appréciée.Protéger le lien pour les téléchargements publics
Répondre
directement SilverLight Le serveur Web doit être en charge et assurer l'authentification et l'autorisation pour toute demande de fichiers. Ce n'est pas spécifique à Silverlight car c'est un problème général. Votre serveur Web doit valider chaque demande de téléchargement de fichier par rapport à l'utilisateur actuellement connecté (qui, si vous utilisiez ASP.NET, pourrait utiliser l'une des méthodes d'authentification telles que Forms Auth ou Windows Auth par exemple). Vous pourriez avoir un gestionnaire HTTP par exemple qui effectue cette validation et autorise le téléchargement (et fournit les octets du fichier de téléchargement). Here's un exemple plus ancien, mais il semble toujours applicable pour ASP.NET par exemple. Ou bien, vous pouvez fournir un jeton généré de manière sécurisée, expirant (peut-être une fois?) À la place d'un nom de fichier, mappé à une demande de fichier préautorisée, et servant à nouveau le fichier à la demande. Celui-ci est plus difficile à gérer à bien des égards et pourrait conduire à une expérience utilisateur moins agréable s'il n'est pas fait avec précaution (surtout si le téléchargement peut être interrompu et doit être redémarré, alors l'ancien jeton peut ne pas être valide). Je voudrais aller avec la première suggestion car il est plus fiable et plus facile à contrôler et à gérer (en ignorant les spécificités de la technologie que ce modèle est disponible sur toutes les plates-formes Web).
Vous pouvez stocker des informations d'autorisation dans une base de données. Ensuite, chaque utilisateur aura son propre compte et son propre ensemble d'autorisations. Vous pouvez ensuite définir des autorisations de groupe d'utilisateurs sur des groupes de fichiers ou des fichiers individuels.
Cela pourrait probablement également être réalisé en utilisant les informations d'autorisation de fichier stockées au niveau du système d'exploitation.
Vous pouvez alors avoir une page dynamique qui prend un nom de fichier comme requête et vérifie une combinaison de nom d'utilisateur et de mot de passe et vérifie si ce fichier est autorisé pour cette personne. Par conséquent, lorsque quelqu'un accède à ce lien de fichier, il doit d'abord fournir les informations d'identification correctes à télécharger, sans quoi il se verra refuser l'accès.
J'espère que cette aide, ce n'était pas une réponse, mais un langage plus agnostique
- 1. Est-ce que le dossier uploads en dehors de 'public_html' est suffisant pour protéger mon application contre les téléchargements malveillants?
- 2. protéger les fichiers flash
- 3. recommandation matérielle sharepoint pour les sites publics
- 4. Obtenez les champs publics?
- 5. Restriction d'OpenSSH pour autoriser les téléchargements uniquement vers certains répertoires
- 6. L'authentification pour les téléchargements de hackage?
- 7. Maximiser les téléchargements parallèles pour le site Web
- 8. Frais pour les abonnements/téléchargements avec Wordpress
- 9. Django, comment les liens publics sur Facebook?
- 10. Tomcat Protéger les fichiers
- 11. Mot de passe Protéger pour le plaisir
- 12. Protéger une application pour le marché
- 13. Exiger des redirections Web pour les téléchargements dans les jeux
- 14. Protéger les fichiers flash
- 15. Comment protéger les DLL?
- 16. Méthode pour donner des urls anonymes pour les téléchargements
- 17. Test de clients pour les services Web publics
- 18. Prevent appeler les constructeurs publics, sauf pour sérialiseur XML
- 19. Protéger le projet de renommer
- 20. Publication Docbook pour différents publics cibles
- 21. Téléchargements simultanées
- 22. Comment configurer les référentiels git publics?
- 23. Noms de fichiers temporaires PHP pour les téléchargements en conflit
- 24. Meilleure pratique pour les téléchargements de sous-versions et d'images
- 25. Comment utiliser Google Analytics pour suivre les téléchargements?
- 26. Personnalisé HttpHandler pour bloquer les téléchargements de fichiers .wmv
- 27. Problème avec les liens symboliques et les téléchargements de fichiers
- 28. Protéger le contenu avec AuthLogic
- 29. Comment faire pour suivre les téléchargements de fichiers
- 30. classe/lib pour les téléchargements parallèles sur l'iphone