Question

J'ai un scénario où je permettre à quiconque d'images HOTLINK de mon site, mais il affiche un filigrane quand il détecte un Referer.

J'ai déjà le filigrane de script PHP GD qui prendra l'URL ou fullpath de l'image sur le répertoire et la superposition d'un filigrane sur, mais ma question est ..

Est-il possible de mettre en place htaccess pour réécrire une page uniquement si elle détecte un Referer pas du domaine?

En outre, a lancé le script PHP, une fois que la réécriture va à une page spécifique dans le répertoire racine, puis-je obtenir où il était essayer pour jeté $ _ SERVER [ 'REQUEST_URI'] pour un accès plus facile de savoir quelle image ils où la tentative de vue sans utiliser la requête GET?

Était-ce utile?

La solution

Il est probablement plus facile avec un RewriteCond. Vous vérifiez normalement d'abord si un en-tête Referer est présent à tout, et puis le comparer par rapport aux valeurs autorisées. Mais vous pouvez aussi compacter en utilisant une affirmation:

RewriteCond %{HTTP_REFERER} ^(?!your.domain.com)(.+)$
RewriteRule ^(img/.+)$  /watermark.php?url=$1  [L]

Si vous ne voulez pas le paramètre GET url, puis en faire un PATH_INFO ou une variable d'environnement à l'aide [L,E=ORIG_REQUEST_URI:$1]. Je voudrais éviter de telles solutions de contournement cependant.

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