Nous avons créé un moteur de recherche dans un dictionnaire de synonymes (j’ai pas le droit de dire le nom, alors j’vais juste vous dire que dans google, si vous cherchez un dictionnaire de synonymes, c’est nous les 2 premiers sites, mais chut)
Un petit plaisantain dont je tairais le nom (pour pas lui faire de la pub) a cru bon de créer une nouvelle page de recherche en faisant un lien direct sur nos programmes. J’aurais pas trouvé ça encore trop dégueulasse s’il avait pris la peine d’indiquer, sur sa page, que c’était nous qui avions fait ce site, que la requete allait tourner sur NOS serveurs, etc, etc, et je parle même pas des mentions légales en bas de page.
Bizarrement, sur son site, tous les liens vers d’autres dictionnaires renvoient vers les pages de garde, c’est juste nous qu’il entube.
J’ai donc 2 petites questions :
Est-ce que c’est légal ce qu’il fait ? (Je demande un conseil, pas un avis)
Y’a-t’il moyen, via apache, d’interdire les liens directs vers telle ou tel page, en renvoyant sur la page de garde le cas échéant
2b) Si je fais cela, cela ne va t’il pas du même coup interdire les bookmarks (et ça ce serait embetant)
2c) Comme de toutes façons il y a des inconvenients (si un mec dans un blog met “oh, regardez un truc marrant” et met un lien, et bien il marchera plus son lien), que peut-on faire contre sa connerie ?
C’est possible de savoir de quel URL vient un visiteur, c’est inclus dans la requête HTTP. En php, tu y accèdes grâce à la variable $_SERVER[‘HTTP_REFERER’].
Il est néanmoins possible de configurer le navigateur pour mettre n’importe quoi dans ce champ, mais la majorité des utilisateurs laissent le comportement normal.
Maintenant, la parade contre un filtrage à base de referer, c’est qu’au lieu d’envoyer les visiteurs sur ton site, c’est son serveur qui s’en charge, copie la page générée par ton serveur, et la reproduit dans la page que finalement il renvoie à ses visiteurs.
J’espère que j’ai été clair, ça donne ça:
visiteur <- son serveur <- ton serveur
au lieu de:
visiteur <- son serveur
visiteur <- ton serveur
Dans ce cas, mets en place un filtrage par adresse ip, vu que ça sera toujours celle de son serveur.
Pour ce qui est des bookmarks, quand un visiteur vient sur ton site via un bookmark, le champ http_referer est vide, tu peux le savoir.
+1
bannis son ip sur ton serveur et là ca ira tres vite. Sauf s’il en change souvent et là c’est le chat et la souris.
edit :
Quoique tu peux faire un script (en quoi ? en python !) qui fais un ping sur son url, récupere son ip et la met dans le bon fichier de conf pour le bannir.
Euh pour les idées techniques je crois que t’as déjà pas mal d’idées et pour les idées juridiques j’en ai aucune idées.
Par contre je voulais juste te dire un grand merci! J’étais tombé sur ce site et j’en suis fan, je l’utilise tous les jours. Il fonctionne à merveille. J’adore aussi la version de traduction, de loin la meilleure manière de traduire un seul mot.
En gros merci, et chouette boulot, l’algo qui est derrière doit être assez sympathique.
[quote=“Moe, post:9, topic: 31103”]Un truc du genre order allow,deny
deny from 123.45.6.7
allow from all # on autorise tous les autrescf .htaccess[/quote]
Ouais mais ça, ça va leur peter un “forbidden acces” ou un truc du genre… moi ce que je voudrais, c’est que ça les envoie sur la page d’index (comme ça, non seulement sa petite page à 2 balles devient inutile, mais en plus il nousd fera de la pub à son insu)
Edit : A priori ça devrait être faisable à coup (dans .htaccess) de
En remplacant REMOTE_HOST par HTTP_REFERER
(REMOTE_HOST c’est l’ip de la personne qui visite le site, mais ce qui est important c’est plutot d’ou il vient)
interdire totalement l’accès depuis un remote host correspondant au serveur qui te hotlink
rediriger vers la page d’accueil si le http_referer correspond à ce même serveur.
comme ça les utilisateurs de son site qui cliquent sur son lien se retrouvent bien chez toi, mais sur la page d’accueil, tandis que lui ne peut plus te visiter, et par conséquent ne pourra pas jouer à reservir tes infos sur son propre site.