tamplan Posté 23 Mars 2010 Posté 23 Mars 2010 Bonjour à tous, Je vous expose rapidement mon problème. Le site que je gère a une structure facilement exploitable par script afin d'en parser le contenu, ce que je souhaite éviter. Afin de compliquer ce processus de pillage en règle, je pensais utiliser de l'ajax avec appel de fichier php et contrôle de la variable $_SERVER['HTTP_REFERER'] pour changer le contenu renvoyé si le visiteur ne passe pas par le site mais accède directement à une page. En gros, le site gére sur une page principale trois blocs : - les fiches les plus consultées (fiche_1, ..., fiche_10) (10 fiches) - les dernières fiches (fiche_245, fiche_244, ..., fiche_235) (10 fiches) - une fiche au hasard (fiche_n) Ces trois blocs pourraient être retournés par 3 requêtes ajax. La page principale permet une recherche dans les fiches. L'adresse d'une fiche est de la forme hxxp//www.example.com/fiche_n.html, je souhaiterais empêcher la consultation d'une fiche directementan sans passer par la page principale. Est-ce possible ? Est-ce qque les requêtes en ajax permettraient de compliquer la tâche des pilleurs ? Je ne sais pas vraiment comment résoudre ce problème et surtout si il y a une solution pour compliquer la tâche des pilleurs. Merci de bien vouloir me donner des pistes de réflexion. Cordialement
captain_torche Posté 23 Mars 2010 Posté 23 Mars 2010 Le souci principal, c'est qu'à partir du moment où ton contenu est sur le net, il est détournable. Le mettre en AJAX peut en freiner certains, mais c'est très facile de spécifier un referer soi-même. Avec l'Ajax, il faut aussi se dire que tu ne gagneras pas de visiteurs par les moteurs de recherche ! Es-tu réellement certain que ton contenu attirera tant la convoitise ?
tamplan Posté 23 Mars 2010 Auteur Posté 23 Mars 2010 Je suis malheureusement certain de cela. Le pillage de ce site est malhaureusement une réalité. Le fait de ne pas gagner de visiteurs par les moteurs de recherche est justement un plus pour ce type de site. Ce site est légal mais je ne compte pas à dire plus ici. Je peux simplement préciser que le contenu du site est exportable via une api mais je souhaite éviter que les personnes ne passent pas par l'api justement. Pour le referer, je suis conscient qu'il possible de le falsifier. Je pensais à l'ajax pour empêcher un pompage du site via un logiciel comme wget par exemple.
jcaron Posté 23 Mars 2010 Posté 23 Mars 2010 Quoi qu'il arrive, à partir du moment où n'importe quel utilisateur peut lire le contenu avec un browser, c'est reproductible avec un robot (à moins de mettre un captcha juste pour lire les pages...). Tout ce que tu peux faire c'est compliquer le boulot de ceux qui veulent le lire avec un robot, mais ça ne va pas beaucoup plus loin. Et certaines mesures que tu peux prendre peuvent avoir des effets secondaires désagréables: outre le fait que les moteurs de recherche ne pourront pas indexer ton contenu comme déjà évoqué (mais il semblerait que ça ne te gêne pas), le blocage par referer est non seulement facilement à contourner, mais en plus peut bloquer des utilisateurs légitimes: il y a pas mal d'outils (firewalls, anti-virus, "outils de protection de la vie privée"...) qui les suppriment, les transforment, etc. Ne pas oublier non plus de permettre aux gens d'utiliser des bookmarks ou leur historique pour revenir directement à la bonne page. Un truc que tu peux faire (mais qui, comme toutes les autres solutions, ne va pas bloquer tout le monde, et qui n'est utilisable que dans certains cas de figure), c'est d'utiliser des cookies. Tu mets le cookie (qui pourrait contenir un timestamp et un hash basé sur ce timestamp et une clef) sur certaines pages, et tu vérifies sur d'autres avant d'afficher. Surtout utilisable pour protéger des images plutôt que des pages entières, mais c'est utilisable si tu sépares page et contenu via Ajax. Jacques.
tamplan Posté 23 Mars 2010 Auteur Posté 23 Mars 2010 J'ai oublié de préciser que les fiches seront générées via PHP. La mise en signet d'une fiche ne sert à rien pour l'utilisateur. La page principale n'est accessible que par les membres d'un forum. Sans préciser à quoi sert le site en question, voici un exemple de ce que je souhaite mettre en place. Le site gére des recettes de cuisine. hxxp://www.exemple.com/recette.php est la page principale du site. hxxp://www.exemple.com/fiche1.php est une page qui présente une recette sur laquelle un lien permet de télécharger la recette (au format pdf par exemple). hxxp://www.exemple.com/fiche1.php ne doit être accessible que depuis la page principale, un accès direct à hxxp://www.exemple.com/fiche1.php dans l'absolu ne devrait rien retourner. hxxp://api.exemple.com/recherche_recette.php permet de rechercher une recette et de télécharger la recette (au format pdf par exemple) via des scripts tiers avec contrôle via clé api. C'est la copie sauvage sans passer par l'api que je souhaite compliquer au maximum...
jcaron Posté 23 Mars 2010 Posté 23 Mars 2010 Ben timestamp+hash via un paramètre de l'URL ou un cookie, généré par la page principale et vérifié par les pages de fiches. Mais ça ne va pas compliquer grand chose pour quelqu'un qui serait un minimum motivé. La seule façon d'éviter les robots à coup sûr c'est un captcha ou équivalent. Jacques.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant