Projet Webmaster
Gestion de projets web ntic

Du concept au projet informatique - De la maîtrise d’oeuvre à la maîtrise d’ouvrage

Web-ntic MOE MOA > Techniques > Protection des fichiers image et texte

Protection des fichiers image et texte

mercredi 14 mai 2003, par km

Plusieurs phénomènes peuvent griser le moral d’un Webmaster heureux, voir que ses images et logos sont copiés dans des forums, des blogs et autres sites internet ; voir que ses textes et autres publications alimentent par des copiés collés innocents des discussions de forums ; voir enfin que régulièrement la bande passante est utilisée par des aspirateurs et non des visiteurs. Heureusement, des solutions sont là.

Plusieurs phénomènes peuvent griser le moral d’un Webmaster heureux, voir que ses images et logos sont copiés dans des forums, des blogs et autres sites Internet ; voir que ses textes et autres publications alimentent par des copiés collés innocents des discussions de forums ; voir enfin que régulièrement la bande passante est utilisée par des aspirateurs et non des visiteurs. Heureusement, des solutions sont là.

Que peut faire le webmaster pour protéger ses fichiers ?
Diverses solutions allant du script en javascript, au script PHP peuvent être utilisées :

La protection des images.

Quel est le problème ?
L’internaute fait un copier coller de l’image ou de l’url de l’image pour copier le tout dans un forum, un blog ou un autre site web.
- Contre la copie de l’image :
C’est un script en javascript qui va pouvoir protéger les images. Lorsque l’internaute cliquera sur le bouton droit de sa souris, rien ne se passera ; un enchaînement bouton gauche, bouton droit, ou maintient du bouton gauche, clic sur le doit ne libérera pas plus le menu contextuel lié au bouton droit ; l’image ne peut être copiée directement.
Le script se compose de deux parties, un partie entre les balises head, et un appel dans le balise body.
Voici le code à utiliser :
- Protection des images

<head>
<script language="JavaScript">
<!-- Begin
function roadster(evt)
{
 if (navigator.appName != 'Microsoft Internet Explorer')
 {
   if (evt.which != 3)
     return true;
 };
 return false;
}
function trap()
{
 if(document.images)
 {
   if(navigator.appName != 'Microsoft Internet Explorer')
   {
     for(i=0;i<document.images.length;i++)
       document.images[i].onmousedown = roadster;
   }
   else
   {
     for(i=0;i<document.images.length;i++)
       document.images[i].oncontextmenu = roadster;
   }
 }
}
// End -->
</script>
</head>
<body OnLoad="trap()">

- Contre la copie de l’url ou un lien direct vers une image, un fichier :
Directement il n’est pas possible de faire quoi que se soit.
Indirectement, il est cependant possible d’empêcher que l’image, le fichier soit disponible

- Explications :
Comment faire pour éviter que des sites externes fassent des liens sur vos fichiers au détriment de votre bande passante.

- Le principe :
Il s’agit de détecter l’origine du visiteur, pour une certaine catégorie de fichiers identifiés par leur extension, puis d’interdire l’accès pur et simple

- Coté méthode :
C’est par le fichier .htaccess avec le mode rewrite du serveur apache actif que cette interdiction pourra être mise en place, ce qui signifie que les webmasters n’ayant pas accès à ce fichier ou ce mode rewrite au niveau du serveur, doivent utiliser une autre technique

- Coté technique :
Il s’agira simplement de renseigner dans le fichier .htaccess, le mode rewrite et ensuite d’interdire l’accès selon la syntaxe suivante

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://votresite.tld
ReWriteRule .*\.(gif|png|jpe?g)$ - [F]

Ce qui se traduit en langage naturel par :
• Pour tout réfèrent non vide (cas d’un visiteur direct) et pour un réfèrent diffèrent de votre nom de domaine,
• Les fichiers de type gif ou png ou jpg ou jpeg sont interdits.
D’autres extensions peuvent être rajoutées selon vos besoin (pdf, mpeg, mp3, mid, swf ...)

Pour plus d’infos sur cette technique, voyez l’article consacré au
fichier .htaccess et la mise en place de l’url rewriting
- Les limites :
Cette technique, si elle ne protège correctement votre bande passante, n’interdit pas pourtant les accés au serveur et génèrent tout de même un accès fichier.
De plus, dans le cadre des fichiers images, le visiteur qui fait un lien sur votre fichier a, au préalable, visité la page où se trouve le fichier en question. Il a donc votre fichier image dans le cache de son navigateur. Lorsqu’il publie, par exemple dans un forum, le fichier image par un lien de type

il verra bien l’image dans son post donc ne sait pas que cette image ne s’affichera pas. Les autres visiteurs qui liront le message ne verront eux que la croix rouge caractéristique d’une image inaccessible

Cette protection par le .htaccess peut donc être insuffisante, il serait plus judicieux de mettre sur ses pages d’images, un avertissement, ou d’utiliser la première technique permettant d’empêcher de faire un clic droit sur l’image et donc d’afficher l’url de l’image.

La protection des textes.

C’est également un script en javascript qui va venir à notre secours.
Le fonctionnement est simple, lorsque le curseur est sur un texte, le mode sélection de texte n’a aucune conséquence, et il n’est pas possible de sélectionner le texte pour le copier Lorsque le curseur est sur un lien, le bouton droit fonctionne, il est possible d’utiliser le menu contextuel.
Sous IE, le raccourci CtrlA ou l’option de menu Edition Sélectionner tout sont également sans effet.
Il y a évidement des parades à ces deux protections, mais elles nécessitent une bonne base de connaissance sur l’Internet.

La protection de la bande passante

Dernier volet pour le webmaster désirant protéger son contenu, la protection par rapport aux aspirateurs de site ou robot indélicats.
- Quel est le problème :
Face à la montée en charge anormale du trafic de son site, parce qu’un visiteur indélicat utilise un programme aspirateur de site, que peut faire le webmaster. Plusieurs solutions :
- Un fichier de configuration empêchant l’accès à certains robots avec le fichier robots.txt. L’inconvénient est de devoir connaître ces robots par leur nom d’agent et de maintenir à jour cette liste
- Un fichier de contrôle d’accès des aspirateurs interdisant l’accès avec le fichier .htaccess.

L’inconvénient tient également au fait que cette programmation n’est pas générique et nécessite de maintenir à jour la liste des robots.
Et dans ces cas ou le robot où le programme aspirateur passe outre ces deux barrières, il ne reste rien d’autre que le fichier script.

- Le script anti aspirateur :

C’est ce que nous propose ce script anti aspirateur.
Son principe est de déterminer le nombre de pages visitées en une minute, au delà d’un certain nombre de pages, ce n’est pas un visiteur normal, mais un logiciel ; dans ce cas alors le visiteur est bloqué, plus aucune nouvelle page ne lui est délivrée.
Du coté des moteurs de recherche, le script fonctionne également et un moteur trop gourmand qui indexe tout le site trop rapidement se verra également bloqué.

- Mais l’indexation par les moteurs de recherche ?
Ce script fonctionne très bien avec les grands moteurs de recherche qui ont comme règle de respecter le trafic et la bande passante des serveurs qu’ils indexent.

- Et coté technique ?
Ce script anti aspirateur est écrit en php et utilise deux tables en base de donnée Mysql. Il peut se mettre aisément dans un fichier header pour couvrir tout le site

Ces trois techniques étant indépendantes les unes des autres et assurant chacune une part de protection, elles peuvent être utilisées sur un même site et permettre au webmaster de retrouver son moral.






Répondre à cet article et accéder au Forum Protection des fichiers image et texte

Imprimer Protection des fichiers image et texte