Dans IIS, j'ai remarqué que je peux refuser l'accès à n'importe quelle extension de fichier sur le serveur. Par exemple, je refuse l'accès aux images .jpg. Mais alors le navigateur ne pourra pas afficher les images .jpg sur mon site. Je me demandais si IIS nous permettait de refuser l'accès aux extensions de fichiers - ou aux noms de fichiers - auxquels on accède directement (en tapant l'URL complète dans la barre d'adresse), tout en les servant au navigateur si demandé par le document?Refuser les extensions de fichier dans IIS
Répondre
Vous ne pouvez pas vraiment empêcher cela; une personne déterminée peut télécharger tout ce qu'une page Web peut télécharger. Cependant, vous pouvez le rendre légèrement plus difficile pour les moins techniquement instruits en vérifiant le référant HTTP dans la demande. Si c'est l'URL de l'une de vos pages Web, vous pouvez autoriser la demande. Sinon, vous pouvez le nier. Cette technique est utilisée pour empêcher les liens profonds assez souvent.
Voici un échantillon (non testé) de la façon dont vous pouvez le faire avec un module HTTP .NET:
public class ImageDenyingModule : IHttpModule
{
public void Init(HttpApplication app)
{
app.BeginRequest += (s, e) => {
var request = app.Context.Request;
if (RequiresPageReferrer(request.Url) && !IsValidReferer(request.UrlReferrer)) {
app.Context.Response.StatusCode = 404;
app.Context.Response.End(); // Or something...
}
};
}
private bool RequiresPageReferrer(string url) {
}
private bool IsValidReferrer(string referrer) {
}
}
Vous pouvez le faire avec un gestionnaire personnalisé http.
http://support.microsoft.com/kb/308001
Si vous créez un gestionnaire personnalisé pour les fichiers jpg, vous pouvez vérifier le referer de la demande et de servir l'image ou annuler la demande.
IMPRESSIONNANT. Merci beaucoup @Gusman! – uSeRnAmEhAhAhAhAhA
- 1. Refuser l'accès au répertoire dans IIS 6.0
- 2. IIS 7 ignore MapPageRoute sans les extensions de fichier
- 3. Les extensions de fichiers sont bloquées par défaut dans IIS
- 4. IHttpHandler qui gère toutes les extensions d'URL dans IIS 6, IIS 7 et ASP.NET Development Server
- 5. Comment pouvons-nous refuser certaines méthodes HTTP dans IIS?
- 6. sandboxd Avis: refuser les données-écriture-fichier
- 7. Permettre des extensions de fichier dans MVC3
- 8. ASP.NET - Extensions de mappage personnalisé IIS - Comment?
- 9. Extensions d'URL personnalisées/Routage sans accès IIS
- 10. Répertoire virtuel IIS 6 créé sans les extensions d'application asp.net
- 11. installation extensions Front Page sur IIS 7.0
- 12. Extensions de fichier WordPress
- 13. SVN Checkout: Ignorer les extensions de fichier
- 14. Topendialog n'affiche pas les extensions de fichier
- 15. Routes Asp.net MVC se terminant par les extensions de fichier
- 16. extensions de fichier double
- 17. extensions de fichier jquery
- 18. tableau de fichier Filtre basé sur les extensions de fichier
- 19. ASP.NET MVC2 refuser l'accès au contrôleur avec IIS 7?
- 20. Refuser l'accès à .axd dans IIS 7.0 en fonction de l'adresse IP
- 21. Plusieurs extensions de fichier dans OpenFileDialog
- 22. Supprimer correctement les extensions de fichier en URL dans lighttpd
- 23. Supprimer les extensions de fichier dans l'URL asp.net
- 24. Comment faire pour vérifier les extensions de fichier dans R
- 25. Sublime text 3 - colorier les extensions de fichier dans l'arborescence
- 26. vérification des extensions de fichier
- 27. Réécrire l'extension de fichier MAIS refuser l'accès direct au fichier
- 28. Arrêtez ASP.NET de gérer les erreurs 404 pour les fichiers avec des extensions (pas IIS)
- 29. Services Web PowerShell (Extensions oData IIS de gestion)?
- 30. Extensions de fichier personnalisées IIS7
Je ne pense pas que le serveur web peut vraiment dire si elles sont demandées par un document ou directement. La requête HTTP est la même dans les deux cas. –