Mention automatique sur des images via Apache et PHP

Comme je l'indiquais dernièrement, j'ai décidé de placer mes photos et mes billets sous Licence Creative Commons CC-By-Sa ce qui implique de citer mon nom (ou je me contente de l'adresse d'origine du site) lors de l'utilisation de ces contenus. Mais je me rend compte en regardant mes statistiques générées avec AWStats que beaucoup de gens hotlink mes photos sur divers blogs, page myspace ou divers forums sans rien mentionner de leur provenance et ça m'énerve un peu... Alors bien sûr, je peux m'inscrire et rajouter les mentions nécessaires dans le topic du forum en question mais :

 

  1. c'est long et fastidieux ;

  2. parfois impossible ;

  3. bien souvent les administrateurs prennent peur et retirent purement et simplement l'image alors que je demande juste une simple et courte mention.

 

J'ai donc décider d'automatiser un peu le processus en utilisant quelques règles de Rewriting Apache et un simple script PHP qui ajoute un texte à la volée et met en cache les images hébergées sur ma Dedibox mais utilisées hors de pwet.fr. Je n'aime pas trop le procédé, mais je n'en vois pas d'autre...

Techniquement parlant, j'ai mis la configuration suivante dans mon fichier de configuration d'Apache :

RewriteCond %{HTTP_REFERER} !^$ [NC] 
RewriteCond %{HTTP_REFERER} !^http://.*pwet\.fr.*$ [NC] 
RewriteCond %{HTTP_REFERER} !^http://images\.google\..*$ [NC] 
RewriteRule .*\.jpg$ /hotlink.php?img=%{SCRIPT_FILENAME}&ref=%{HTTP_REFERER}

Ce qui signifie que lors de l'appel à une image si une URL référente est définie et n'est ni pwet.fr, ni Google Images alors l'image renvoyée est en fait traitée par un script.

Le script hotlink.php est un traitement qui ajoute un texte blanc en bas de l'image en fonction de la taille de l'image en utilisant les fonctions de traitements d'image de la bibliothèque GD.

» Commentaires

- Trop gros (#64751) par LLaumgui le 11 Mars 2007 à 23:14
Pas mal techniquement... Mais je trouve qu'une fois la licence ajoutée, la ligne est trop grosse et trop visible.
Au final le copyright dénature complètement tes photos, c'est comme si Picaso avait signé ses tournsesol sur 10cm2.
- Marche pô ?... (#65453) par Cédric le 13 Mai 2007 à 14:56
Bonjour

je viens d'essayer d'installer ton script, mais ça marche pô. Le htaccess est placé dans le répertoire contenant les images, le script idem, les deux répertoires de cache et de partage idem...

Je n'ai pas d'erreurs mais rien n'est généré (et les images ne sont évidemment pas affichées !)

Le {SCRIPT_FILENAME} dans le htaccess c'est normal ?
- à vérifier (#65463) par Damien le 13 Mai 2007 à 17:37
il faut vérifier plusieurs points :
- la disponibilités du fichier de police de caractères
- les permissions sur le dossier ou le script essaie d'écrire les images
- la bonne mise en place des règles de réécriture en regardant les logs d'apache et en activant le log des RewriteRules
- Policces (#65470) par Ju.1 le 14 Mai 2007 à 00:16
Atttention si la police n'existe pas le script plante (pas de 'fallback' sur une police par defaut)
- OKI, je vais essayer le log (#65477) par Cédric le 14 Mai 2007 à 11:55
Car en direct le script fonctionne parfaitement (donc ce n'est pas lié à la police ni aux droits sur le répertoire de cache...)

C'est rewritelog qu'il faut utiliser je crois. Je fais ça !
- Résolu :-) (#65478) par Cédric le 14 Mai 2007 à 14:27
En fait c'était simple (merci les logs Apache)

J'ai finalement mis le chemin http complet du script au niveau de la règle de réécriture, ça fonctionne (sinon il allait me le chercher depuis la racine du serveur...) !

GÉNIAL ton script !

» Trackback

Aucun trackback

Les trackacks sont désactivés

Flux RSS des billets

Flux RSS des billets

Rechercher sur pwet.fr

À retenir

Derniers commentaires

Archives

Nuage de tags

Bioutifoul photos

Quelques liens

Licence d'utilisation

Contenu sous Licence Creative Commons By-Sa

Sauf mentions spécifiques, les billets et les photos publiés sur ce site sont placés sous la licence Creative Commons by-sa.

Pour toute utilisation dépassant le cadre de cette licence, merci de me contacter par e-mail.

Login