Aller au contenu

rewrite si l'URI correspond à une variable d'envirronnement


Sujets conseillés

Posté

Bonjour,

J'ai un besoin un peu curieux, Je veux qu'une page du style :

http://xxxx/protect/123.123.123.123/toto.jpg affiche la page http://xxxx/dossierprotégé/toto.jpg

si l'adresse du visiteur (REMOTE_ADDR) est 123.123.123.123, sinon il serait redirigé ailleurs.

c'est en quelque sorte pour interdire les "hotlinks" même si le referrer est vide (lien donné par msn messenger par exemple)

Si vous voyez autre chose pour effectuer cette protection, je suis aussi preneur, sachant que je ne veux/peux pas utiliser php, cgi, etc...

Et que la page qui affiche l'image n'est pas situé sur le même site (pas de cookies possible) et que j'utilise apache2 (je sais il y a bcp de conditions.)

Merci d'avance pour toute idée

J'avais testé un code dans le htaccess du style :

RewriteEngine On

RewriteCond $1 ^%{REMOTE_ADDR}
RewriteRule ^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/(.+)$ ../dossierprotege/$2 [L]

Mais le %{REMOTE_ADDR} dans la 2ème partie du rewrite ne semble pas être interprété :-/

Posté

Bonjour,

Il faut plutôt mettre cette condition-ci:

RewriteCond %{REMOTE_ADDR} 123.123.123.123

suivie de ta règle de réécriture...

Dan

Posté

sauf que le 123.123.123.123 était juste pour l'exemple

je veux :

http://xxxx/protect/123.123.123.123/toto.jpg -> http://xxxx/dossierprotégé/toto.jpg SI REMOTE_ADDR=123.123.123.123

http://xxxx/protect/222.222.222.222/toto.jpg -> http://xxxx/dossierprotégé/toto.jpg SI REMOTE_ADDR=222.222.222.222

et ainsi de suite

sachant que les url des images seront affichées dynamiquement par un script.

Mais peut être qu'il y a une autre méthode pour faire ce que je veux..

Posté

Et tu as combien d'URLs/IPs différentes à traiter de cette manière?

Posté

un nombre indéfini...

je veux tout simplement interdire le téléchargement de fichier sans passer par une page avant

Posté

Ce n'est pas bon comme approche alors... la page "d'avant" est toujours la même ?

Parce que si tu veux interdire les hotlinks, il te suffit de mettre une règle avec une condition telle que celle-ci:

RewriteCond %{HTTP_REFERER} !tondomaine.tld

suivie de la règle au cas où tu interdis le hotlink, par exemple un "forbidden"

Posté (modifié)

je dirais oui

Rappel: je veux aussi interdire le téléchargement de fichier que l'on donnerait par un lien sur msn, et donc qui arriverait sans referrer

Sauf erreur de ma part, il y a des navigateurs qui cachent le referrer, non ?

Modifié par auto

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...