Question

Si j'utilise une URL telle que http: //mysite/myfolder/myfile.dll , je obtenir un dialogue "Voulez-vous ouvrir ou enregistrer ce fichier". Bien sûr, je ne veux pas que les gens puissent télécharger et désassembler nos dll. Comment puis-je empêcher des personnes d'accéder directement à de tels fichiers?

Était-ce utile?

La solution

Refuser toutes les dll est radical dans un site asp.net, car Silverlight, etc. utilise des dll client qui doivent être téléchargeables par le navigateur du client.

Vous pouvez utiliser la console de gestion IIS ou les API de gestion pour désactiver l'authentification sur le fichier ou le répertoire de la DLL.

Désélectionnez simplement toutes les options d'authentification et l'accès sera refusé.

Autres conseils

Cela est généralement interdit par défaut. Si vous accédez au gestionnaire IIS et modifiez le site Web, vous devez décocher «Accès aux sources de script». Les DLL doivent également figurer sur la liste des extensions de fichier interdites.

La réponse courte est qu'il ne devrait y avoir aucun fichier que vous ne souhaitiez pas servir sous la racine Web.

Je ne connais pas personnellement IIS 6 ou 7, mais sous Apache, un répertoire est désigné comme étant la racine Web, par exemple. \ site \ htdocs, et rien au-dessus n’est accessible de l’extérieur. Si vous conservez vos fichiers DLL en dehors de cette hiérarchie, ils sont inaccessibles.

Définissez les droits d'accès et de sécurité des fichiers Windows appropriés.

E.g. lorsque vous utilisez asp.net, vous devez refuser l'accès au fichier .dll à tous les utilisateurs, à l'exception du compte ASPNET.

! Le compte IUSR_xxx ne devrait pas avoir de droits sur votre .dll!

Si, pour une raison quelconque, les mappages de script dans IIS ne peuvent pas être modifiés, vous pouvez utiliser HttpForbiddenHandler

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top