[Astuce] Un anti clic droit uniquement sur les images

08/08/2008 28 commentaires par Cédric G. +

Dans la droite lignée de mon article Protéger vos photos sur le web, voici une petite astuce adaptable à (presque) tous les sites web affichant des photos… Le concept est très simple : interdire le menu contextuel – en clair un anti clic droit – mais uniquement sur les images de la page 😉 (oui je sais, ça ne sert à rien !)

Si les classiques scripts anti clic droit contribuent à réaliser cela, ils n’en sont pas moins mauvais car ils peuvent gêner un nombre certain d’internautes dans leur processus de navigation (perte de l’ergonomie et des facilités données par les menus contextuels de manière générale sur les pages visitées). L’astuce consiste donc à n’interdire le menu contextuel que sur les images ! J’avais déjà expliqué comment faire dans mon précédent article, mais cela ne répondait pas à deux éléments que le webmaster scrupuleux de la qualité de son code exige :

  • le script ne doit pas modifier le code existant (doit s’appliquer à toutes les images, mais sans retouche à réaliser sur le code des galeries photo par exemple)
  • les pages conformes W3C (jusqu’au XHTML 1.0 strict) doivent le rester !

Le script anti clic droit sur images

Simpliste s’il en est, il consiste à appliquer par une boucle en Javascript un code sur l’événement « OnContextMenu » de toutes les images de notre page. En clair, à chaque fois que dans notre navigateur, nous allons essayer d’afficher le menu contextuel sur une image (typiquement par un clic droit… ou par un autre moyen !), nous empêcheront ce dernier de s’afficher 😉

Il suffit de copier le code qui suit dans un fichier texte, de le sauvegarder dans un fichier nommé prot.js puis de le placer à la racine de votre site (ou tout du moins dans le répertoire des pages qui utiliseront ce script !)

// Retourne... rien !
function rien()
{
    return false;
}

// Remplace l'événement "oncontextmenu" (typiquement un clic droit) sur toutes les balises IMG de la page
function prot()
{
    var imgs = document.getElementsByTagName("img");
    for(var i=0; i<imgs.length; i++)
        imgs[i].oncontextmenu = rien;
}

Au niveau des pages web, il suffit d’en modifier l’entête de la manière suivante (ajouter les éléments en rouge) :

<html>
<head>
    ...
    <script type="text/javascript" src="prot.js"></script>
</head>

<body onload="prot()">
    ...
</body>
</html>

Les limites

Elles existent, évidemment… Il existe plusieurs limites à cette technique, qui ne freinera d’ailleurs que les néophytes du web (entre les copies d’écran et l’analyse du code source que se permettent les autres !…) :

  • ne fonctionne que si le Javascript est activé sur le navigateur
  • ne fonctionne pas si présence de certains scripts Javascript (HighSlide notamment, que j’utilise parfois sur ce blog) ; déconseillé car peut entrer en conflit avec ces derniers !
  • ne fonctionne donc pas avec certaines galeries Javascript
  • fonctionne uniquement sur les images affichées avec une balise HTML img !

Voilà ! Bon je le redis, dans la majorité des cas cela ne servira à rien si le voleur est motivé… mais l’astuce est sympa de part son côté technique donc je voulais la partager avec vous 🙂

,

L'auteur : Cédric G.

Auteur photographe animalier, informaticien et passionné d'animaux et de nature. Administrateur du blog Aube Nature

28 réponses sur [Astuce] Un anti clic droit uniquement sur les images

  1. Ghusse a écrit

    Ce genre d’astuce ne sert strictement à rien.

    Je pense sincèrement que non seulement il est inutile pour se prévenir des gens qui veulent sciemment voler vos photos, mais en plus il gêne la navigation de l’internaute honnête.

    Il ne faut pas croire que cela vous prémunit contre quoi que ce soit.

  2. Le Zla a écrit

    [Bouh c’est mal ce genre de scripts – voilà c’est dit ]

    Sinon on pourrait l’améliorer en ajoutant une balise rel par exemple, ou bien une certaine classe, uniquement sur nos photos afin de ne protéger que celles-ci…
    Le script Js se chargeant ensuite de n’ajouter l’anti-clic que sur les photos tagées.

  3. soky a écrit

    J’ai testé sur quelques images. J’aurais tout de même affiché un texte d’une manière ou d’une autre. Je sais que les pop up java sont agressifs mais ils ont l’avantage de préciser la raison de cette restriction. Un menu contextuel qui ne s’affiche pas peut laisser croire à un disfonctionnement de son navigateur. Sur le fond, je trouve que les webmesters ne devraient pas intervenir sur l’outil de navigation.

  4. Cédric Girard a écrit

    Je suis bien d’accord avec vous… et je le précise d’ailleurs dans l’article 😉

    Je ne fais que donner une astuce et répondre à une certaine demande. Maintenant, un anti-clic droit uniquement sur les images ne doit pas gêner outre mesure la navigation.

    Pour moi les deux seuls moyens efficaces (et appliqués) sont :
    – le filigrane (relativement discret mais présent)
    – la facture (radicale mais efficace !)

    Il faudrait aussi inclure dans les cours d’éducation civique le droit d’auteur, ça serait pas un mal pour tous les "kikoolol" (ainsi appelle-t-on les d’jeunz "ki ékriv com sa lol" sur leur Skyblog) qui sont les principaux voleurs d’image…

    Maintenant je force personne, hein ^_^

  5. Fabien Engels a écrit

    Pour ceux qui ont peut de se faire voler des images, j’ai trouver il y a quelques jours un moteur de recherche assez interressant :
    tineye.com/login

    On envoit une image et ca nous dit ou elle apparait sur le net.
    Pour le moment c’est encore en developpement et peu d’image sont referencees (quelque chose comme 7millions).

    Je vous laisse regarder la video, c’est assez bluffant (l’image peut etre recadree, retouchee … ca passe 🙂 ).

    Je pense que ce moteur de recherche peut avoir un tres gros succes aupres des photographes et autres artistes "graphiques".

    (desole pour les accents … je suis sur un clavier qwerty)

  6. Le Zla a écrit

    Et encore j’ai l’impression que tu t’en tires bien sur ton blog. Certains photographes de concert ayant un blog relativement bien référencé et ayant shooté des groupes de d’jeuns comme Tokyo Hotel voient leurs commentaires débordés de groupies en furie … Les KikoLols sont à l’affût de tout…

  7. Cédric Girard a écrit

    J’ai déjà parlé de TinEye 😉 (voir liens en bas de l’article !)

    Clair que c’est l’avenir ! Je connais des photographes qui ont déjà récupéré des revenus grâce à cet outil. Pas que l’on soit près de notre argent, mais bon quand un commerçant se fait voler quelque chose, il aime bien se faire payer !

  8. soky a écrit

    Comment on fait pour évaluer le prix d’une de ses photos pompées ? J’veux bien envoyer une facture, seul problème c’est que je sais pas ce que ça vaut.

  9. Cédric Girard a écrit

    Pour ça, voir l’article "Le juste prix d’une photo" => blog.aube-nature.com/?200…

    Ne répond pas directement à la question, mais donne quelques pistes !

  10. Daniel a écrit

    Pour répondre à soky, il est facile de modifier légèrement le J.S. ci-dessus pour faire apparaître une fenêtre (popup) d’alerte au clic droit sur une image :

    ———————–
    function alerte()
    {alert(‘aube-nature ©2008 cédric girard. Si vous souhaitez utiliser cette photo, merci de m\’en faire la demande’);return(false);}

    function nodroit()
    {
    var imgs = document.getElementsByTagName("img");
    for(var i=0; i<imgs.length; i++)
    imgs[i].oncontextmenu = alerte;
    }
    ————————————-

    Notes pour la phrase-texte :
    1) = retour à la ligne
    2) une apostrophe doit-être précédée d’un \ = m’en faire –> m\’en faire

    Ainsi :
    (‘aube-nature ©2008 cédric girard. Si vous souhaitez utiliser cette photo, merci de m\’en faire la demande’)

    apparaît ainsi dans la fenêtre :

    aube-nature
    ©2008 cédric girard.

    Si vous souhaitez utiliser cette photo, merci de m’en faire la demande

  11. Daniel a écrit

    PS = petit loupé ci-dessus, merci de remplacer
    function nodroit()
    par
    function prot()

    pour que cela corresponde avec l’exemple de Cédric (et le body qu’il indique) :
    <body onload="prot()">

  12. DJereMaster a écrit

    il éxiste une astuce qui consiste à désactiver JavaScript dans le navigateur et j’ai crée un site qui contourne le problème^^

    http://www.djeremaster.com

    Cordialement

  13. Cédric Girard a écrit

    Hum…
    Djeremaster, ton site n’est accessible que par Internet Explorer : voilà qui te prive de 50% des Internautes !!!

    Solution radicale 😀

  14. Linuxien photophile a écrit

    Bonjour Cédric,
    avant tout, je voudrais vous féliciter pour votre site. C’est à mon sens un des meilleurs sites de photographe que j’ai pu visiter au regard de tout ce qu’il contient.
    Je tenais juste à vous préciser que ce genre de script n’est absolument pas efficace contre les pirates utilisant linux. Je ne suis pas un linuxien acharné ou autre geek du genre mais avec un simple Ubuntu, je peux copier vos images avec le click droit. Moi même photographe amateur j’ai trop de respect pour votre travail et ne profiterai donc pas de la faille.
    Peut etre devriez vous vous pencher sur le sujet.
    Bien à vous, et encore bravo pour votre site et vos photos

  15. Daniel a écrit

    ALERTE DE SECURITE!!!!!!!!!!!!!!!!!!!!

    APRES UNE VERIFICATION:
    LA CONFIGURATION DE VOTRE NAVIGATEUR N’EST PAS COMPATIBLE AVEC CE TYPE DE SITE WEB.

    NOUS VOUS CONSEILLONS DE REMETTRE LA CONFIGURATION DE BASE OU D’UTILISER InternetExplorer POUR REGLER LE PROBLEME.

    Ben dis-donc !
    En 2009, 8 ans après le début du 21ème siècle, il y a ENCORE des Cromagnons de ce genre ???

    Et faut-être osé pour parler "d’alerte de SÉCURITÉ" quand on compare la "sécurité" d’Internet Explorer (sic) avec celle, par exemple, de Mozilla Firefox (10 mises-à-jour de sécurité quand MSIE n’en fait qu’1 !)
    Et je ne parle pas du linuxien, qui rigole à perdre haleine en lisant cela !

    Pour en revenir à l’anti-clic droit, je pense qu’il ne faut négliger aucune défense !
    Bien sûr que RIEN (ABSOLUMENT rien !) ne peut empêcher la copie, mais est-ce pour cela qu’il faut se priver de ce petit plus ?

    Il a au moins deux avantages :
    – il alerte CLAIREMENT l’honnête (il y en a) visiteur
    – devant un éventuel litige, le malfaisant ne pourra pas dire qu’il ne savait pas (car ne me dites pas que le clic-droit n’est pas le 1er "truc" qu’il essaye, avant tout chose !!!)

    Et ne me dites pas non plus qu’un anti-clic SUR IMAGE gêne en quoi que ce soit le visiteur !
    Ou alors, donnez-moi une seule AUTRE raison de cliquer-droit sur une image !

  16. Cédric Girard a écrit

    Oui, donnez-nous une bonne raison de faire un clic droit sur une image ? 😉

    Daniel, pour l’alerte sécurité, c’est sur mon site ??? Je n’ai jamais eu ce cas jusqu’à présent (et pourtant je pense l’avoir visité sur des dizaines de PC différents sous quasiment tous les OS et types de navigateurs !)

    Mais bon venant d’IE plus rien ne m’étonne…

  17. aide juridique a écrit

    donnez-nous une bonne raison de faire un clic droit sur une image ?

  18. Louloulina a écrit

    Monsieur DJereMaster est ce que vous pouvez nous renseigner sur votre site pour mieux comprendre??

    Pas de pseudo SEO please. Merci. J’autorise les liens DoFollow sur ce blog mais n’en abusez pas non plus.

  19. Cédric Girard a écrit

    Bonjour

    Il existe des tests très simples pour détecter l’absence de prise en charge du javascript, et le cas échéant envoyer un message à l’internaute… ou interdire la visite du site !

    Pas très userfriendly 😉

  20. Daniel a écrit

    Cédric, je ne vois pas ma réponse à la question (inquiète) du 14/02/09 à 11:15., réponse que j’avais pourtant faite le lendemain 15/02.

    Au cas où j’aurais raté mon clic, je re-répond : non bien sûr, l’alerte sécurité (que j’avais indiquée dans le message juste au-dessus) ne venait pas d’une visite d’aube-nature, mais du site de DJereMaster lors de ma (tentative) de visite avec Maître Firefox !
    Je viens encore d’essayer à l’instant http://www.djeremaster.com, c’est toujours aussi (dinguement) vrai (Firefox 3.0.10) !

    Sinon, interdire la visite du site aux visiteurs sans J.S. me paraît tout aussi stupide que…. la loi HADOPI, et surtout quand on sait que ces visiteurs qui règlent leur navigateur en refus de J.S. sont en réalité extrêmement PEU nombreux : 1,2 % selon mes stats Xiti et analytics (visiteurs tous pays dont 35 % France).

    Je suis très satisfait de ma p’tite alerte clic-droit sur images (en outre avec Firefox elle est remplacée par le menu au clic sur le "OK" de fermeture et donc elle ne gêne en rien).

    De 2000 à 2002 environ, j’avais pas mal de photos volées (indication copyright uniquement en bas de page), et beaucoup moins de 2003 à 2005 avec l’ajout du script de cette petite alerte (donc pas si inutile que ça, comme le prétendent ceux qui n’ont pas essayé ! Et vlan pour eux !).

    Tout vol semble avoir totalement disparu depuis 2005, grâce à 2 astuces complémentaires :
    – signature (discrète et petite) sur chaque photo
    – incitation à me demander plutôt qu’à voler, en indiquant que je pourrais même adapter aux dimensions souhaitées, le tout le plus souvent gratuitement pour un usage non commercial.

    Bilan : plus de vol (repéré en tout cas), et des sites ou blogs qui me demandent 1, 2 ou 3 photos et en retour signent et lient vers mon site !
    Donc pub ! Donc je suis content !

  21. Cédric Girard a écrit

    Bonjour Daniel

    Je devais être fatigué quand j’ai posé ladite question : maintenant c’est "évident" (je pense aussi que je n’avais pas visité le site de DjereMaster 🙂 ce qui m’a induit en erreur)

    Au niveau du vol des photos, malgré l’anti-clic droit, malgré un message et un filigrane (léger, en coin) j’ai encore beaucoup d’emprunts non sollicités. Quasiment chaque semaine 🙁

  22. Daniel a écrit

    Quasiment chaque semaine ? Mazette, vos jolies petites bêtes ont plus de succès que mes adorables poupées 🙂
    De quoi en effet en devenir nerveux !

    Sinon et par ailleurs, j’ai oublié de signaler un autre p’tit truc intéressant, qui contre une astuce de Firefox aidant – sans que bien sûr ce soit son but – les copieurs à copier !

    En effet, avec FF, un glissé-déposer d’une image dans la barre d’adresse fait apparaître l’image – et seulement l’image – dans une nouvelle page et la rend immédiatement copiable (bon, d’accord, ça change pas grand’chose, mais c’est pas une raison !).

    Pour éviter aux visiteurs sous FF d’utiliser cette astuce, il suffit de lier toutes vos images aux….. pages qui les contiennent !

    Non, non, paniquez pas, c’est tout simple !

    PS = Cédric, vous utilisez ce p’tit truc, mais je vais vous indiquer par la même occasion comment faire BEAUCOUP PLUS SIMPLE 🙂

    Pour cette image par exemple :
    <img src="cedric-girard.jpg" width="360" height="516" alt="photo d’un photographe de génie" />

    il suffit de la lier ainsi :
    <a href="#"><img src="cedric-girard.jpg" width="360" height="516" border="0" alt="photo d’un photographe de génie" /></a>

    Hé oui, cédric, pas besoin de s’embêter avec le nom de la page, <a href="#"> est UNIVERSEL 🙂

  23. Cédric Girard a écrit

    Bonjour Daniel

    (mes excuses, mon filtre anti-spam est un peu trop efficace ^_^)

    Effectivement c’est une astuce que j’utilise mais en liant les images (de mes galeries) à leur catégorie…

  24. Daniel a écrit

    Bonjour Cédric,

    J’avais bien remarqué qu’envoyer l’adorable hérisson visiter la barre de FF (je voulais m’approprier cette mignonne photo, m’enfin!) amenait sur une autre page, mais je pensais que c’était par méconnaissance du "#" plutôt que par choix délibéré.
    Désolé pour mon incommensurable prétention 🙂

  25. Muse_stream a écrit

    Ca ne sert à rien (suffit d’afficher le code source et ça demande pas d’avoir inventé le fil à couper le beurre).

    Par ailleurs je trouve que si on décide de mettre ses photos sur le web, par définition on n’est pas opposé à ce que les visiteurs en garde un exemplaire sur leur dd. Faut être logique !!
    Et puis de toute façon, il reste à l’auteur les RAW… le vrai trésor !

  26. Cédric Girard a écrit

    Je n’ai jamais dit que c’était infaillible (loin de là d’ailleurs) ; cela limite cependant fortement le travail de flicage que tout photographe (professionnel) se doit de réaliser régulièrement pour contrôler la diffusion de ses photos…

    Si les internautes se contentaient de les copier sur leur disque, cela ne poserait AUCUN problème : le hic c’est que dans la très grande majorité des cas, c’est pour les réutiliser publiquement !

    Le seule remède : le gros filigrane…

  27. Lobwick a écrit

    Y aurait-il un moyen d’appliquer ce code sur un site WordPress multi-page? Voir un plugin ?
    Lobwick

Laisser un commentaire