3 votes

Utilisation de .htaccess pour protéger l'accès direct aux fichiers

Nous devons empêcher l'accès direct aux fichiers de notre site par une personne qui entre simplement une URL dans son navigateur. J'ai réussi à faire fonctionner cela en utilisant un fichier htaccess et cela fonctionne bien dans IE et Safari, mais pour une raison quelconque Firefox ne coopère pas. Je pense que cela a quelque chose à voir avec la façon dont Firefox rapporte les référents.

Voici mon code dans le fichier .htaccess.

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_REFERER} !^http://(my\.)?bigtimbermedia\.com/.*$ [NC]
RewriteRule \.(swf|gif|png|jpg|doc|xls|pdf|html|htm|xlsx|docx)$ http://my.bigtimbermedia.com/ [R,L]

Si vous voulez en voir un exemple, essayez d'abord d'accéder à ceci... http://my.bigtimbermedia.com/books/bpGreyWolvesflip/index.html

Il le bloque correctement dans tous les navigateurs.

Maintenant, si vous allez à cette URL et que vous cliquez sur le lien, cela fonctionne dans IE et Safari, mais Firefox se bloque et semble être en boucle.

Comment faire pour que cela fonctionne dans Firefox ? Je vous remercie.

1voto

Devin Ceartas Points 1438

Pourriez-vous simplement utiliser

RewriteCond %{HTTP_REFERER} !^%{HTTP_HOST}$ [NC]

Ainsi, vous correspondez à ce que la machine pense être l'hôte ?

0voto

gabbelduck Points 329

RewriteCond %{HTTP_REFERER} !^ http://(my.)?bigtimbermedia.com/ .*$ [NC]

Sans l'avoir testé - votre règle de réécriture a l'air un peu bizarre - je ferais passer cela par paros ou fiddler et je verrais quelle est la différence entre les requêtes envoyées par firefox et celles envoyées par IE ou Opera ou autre, ainsi que la redirection renvoyée par votre système.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X