Comment prévenir un fichier à partir de l'URL directe de l'Accès?
Je suis en utilisant Apache et j'ai un exemple de dossier web sur mon Hôte Local, comme:
http://localhost/test/
Fichiers dans le test
dossier:
index.html
sample.jpg
.htaccess
La source de l'échantillon de index.html
:
<html>
<body>
<img src="sample.jpg" />
</body>
</html>
Quand je lance le site web à l' http://localhost/test/
, il va simplement afficher l'image "sample.jpg" sur la page.
Problème:
- Je veux éviter que l'image montrant que
http://localhost/test/sample.jpg
directement dans la barre d'url.
Remarque: j'ai trouvé que les solutions ci-après lorsqu'il est testé sur tous les navigateurs sauf Firefox.
Vous devez vous connecter pour publier un commentaire.
Essayez ce qui suit:
Retourne 403, si vous accédez à des images directement, mais leur permet d'être affiché sur le site.
Remarque: Il est possible que lorsque vous ouvrez une page avec l'image puis copier l'image du chemin d'accès dans la barre d'adresse, vous pouvez voir que l'image, c'est uniquement parce que le cache du navigateur, en fait, que l'image n'a pas été chargé à partir du serveur (à partir de Davo, plein de commentaire ci-dessous).
RewriteCond
? Ce cas devrait être couverte par la seconde.*$
directive?rosipov la règle fonctionne très bien!
- Je l'utiliser sur des sites d'affichage d'un espace ou d'un message spécial 😉 à la place d'un accès direct tentative de fichiers, je serais plutôt pour protéger un peu de la vue directe. Je pense que c'est plus amusant qu'un 403 Forbidden.
Donc, en prenant rosipov de la règle de rediriger toutes les direct demande à {gif,jpg,js,txt} fichiers dans 'messageforcurious' :
Je le vois comme une façon polie de refuser accès direct à, disons, un CMS fichiers sensibles comme xml, javascript... avec la sécurité à l'esprit: Pour tous ces bots scrawling le web aujourd'hui, je me demande ce que leur algo vais faire de mon messageforcurious'.
Tout d'abord, trouver l'endroit où le serveur principal fichier de configuration httpd.conf est situé. Si vous utilisez Debian, il devrait être ici:
/etc/apache/httpd.conf
. L'aide d'un fichier, l'éditeur Vim ou Nano ouvrir ce fichier et recherchez la ligne qui se présente comme suit:puis supprimer les Index de mots et enregistrez le fichier. La ligne devrait ressembler à celui-ci:
Après il est fait, redémarrez apache (par exemple /etc/init.d/apache restart dans Debian). Ça y est!
En fonction de vos commentaires il semble que ce soit ce dont vous avez besoin:
Je l'ai testé sur mon localhost et il semble fonctionner correctement.
http://localhost/test/sample.jpg
assurez-vous que vous appuyez surctrl+R
à quelques reprises pour s'assurer qu'il est à venir à partir du serveur web. Lorsque vous faites la queue de votre accès.journal de de assurez-vous de voir 200 ou 403 pour cette image.http://localhost/test
FF est la mise en cache des ressources statiques sur cette page c'est à diresample.jpg
. Ensuite, une fois que vous ouvrez cette URL:http://localhost/test/sample.jpg
et FF sert de son cache. C'est pourquoi je t'ai proposé à la queue de votre accès.journal. Cependant, en FFif you open a new tab and enter your image URL and press
ctrl+R "quelques fois", alors vous verrez Interdit message. PS: j'ai testé sous Firefox, Chrome, Safari et IE, et il a travaillé partoutQuand je l'ai utilisé sur mon Serveur, je peux renommer uniquement les locaux de l'hôte, comme ceci: