28 votes

Protection contre le grattage de l'écran

Suite à ma question sur la Légalité de la capture d'écran, même si c'est illégal, les gens vont toujours essayer, donc:

Quels mécanismes peuvent être utilisés pour prévenir ou au moins disincentivise capture d'écran?

Oh, et juste pour sourire et pour rendre la vie difficile, il peut être agréable de conserver l'accès pour les moteurs de recherche. Je peut très bien être en train de jouer l'avocat du diable ici, mais il y a un grave sous-jacente point.

61voto

Bombe Points 34185

Vous ne pouvez pas l'empêcher.

19voto

benno Points 934

Ainsi, une approche possible serait d'obfusquer le code (rot13, ou quelque chose), et puis un peu de javascript dans la page que faire quelque chose comme document.écrire(unobfuscate(obfuscated_page)). Mais cette totalement souffle les moteurs de recherche (probablement!).

Bien sûr, cela ne fait pas arrêter quelqu'un qui veut voler vos données, mais elle rend plus difficile.

Une fois que le client a les données, il est assez beaucoup plus de jeu, de sorte que vous besoin de regarder quelque chose sur le côté serveur.

Étant donné que les moteurs de recherche sont essentiellement écran grattoirs les choses sont difficiles. Vous avez besoin de regarder quelle est la différence entre le bon écran, les grattoirs et les mauvais écran grattoirs sont. Et bien sûr, vous avez juste l'homme normal les utilisateurs ainsi. Donc, cela revient à un problème de savoir comment pouvez-vous sur le serveur efficacement les classer en tant que demande comme venant d'un homme, un bon écran, un grattoir, ou d'un mauvais écran d'un grattoir.

Donc, l'endroit pour commencer serait de regarder vos fichiers log et de voir si il y a un modèle qui vous permet de classer les demandes, puis sur la détermination du modèle de voir s'il est possible qu'un mauvais écran grattoir, à savoir cette classification, pourrait camoufler pour apparaître comme un homme ou une bonne de l'écran d'un grattoir.

Quelques idées:

  • Vous pouvez être en mesure de déterminer la bonne de l'écran grattoirs par adresse IP(es)..
  • Vous pourriez potentiellement déterminer grattoir vs humains par le nombre de connexions simultanées, le nombre total de connexions par période, les conditions d'accès, etc.

Évidemment, ceux-ci ne sont pas l'idéal ou infaillible. Une autre tactique consiste à déterminer quelles mesures pouvez-vous prendre qui sont inoffensifs pour les humains, mais (peut-être) gênant pour des grattoirs. Un exemple pourrait être en train de ralentir le nombre de demandes. (Cela dépend du temps de la criticité de la demande. Si ils sont de grattage en temps réel, ce serait en effet à leurs utilisateurs finaux).

L'autre aspect est de chercher à servir à ces utilisateurs de mieux. Il est clair qu'ils sont de grattage parce qu'ils veulent les données. Si vous leur fournissez un facile façon de l'obtenir directement les données dans un format utile ce sera plus facile pour eux au lieu de faire une capture d'écran. Si il existe un moyen facile ensuite de l'accès aux données peut être réglementé. E. g: donner les demandeurs d'une clé unique, puis de limiter le nombre de requêtes par clé afin d'éviter la surcharge sur le serveur, ou de la charge par 1000 demandes, etc.

Bien sûr, il y a encore des gens qui veulent vous arnaquer, et puis il y a probablement d'autres moyens de disincentivise, bu ils ont probablement commencer à être non-technique, et nécessitent le recours juridiques à être poursuivi.

17voto

Jason Bellows Points 234

J'ai écrit un billet de blog à ce sujet ici: http://blog.screen-scraper.com/2009/08/17/further-thoughts-on-hindering-screen-scraping/

Pour paraphraser:

Si vous publiez des informations sur internet, quelqu'un peut l'obtenir, c'est juste une question de combien de ressources qu'il souhaite investir. Quelques moyens de rendre les ressources nécessaires supérieur sont:

Tests de Turing

Le plus commun de mise en œuvre de la rotation de Test est le vieux CAPTCHA qui s'efforce de s'assurer de l'homme lit le texte dans une image, et l'insère dans un formulaire.

Nous avons trouvé un grand nombre de sites qui mettent en œuvre une très faible CAPTCHA qui ne prend que quelques minutes pour se déplacer. D'autre part, il y a quelques très bonnes implémentations de Tests de Turing qui nous permettrait de choisir de ne pas traiter avec le choix, mais un système sophistiqué de l'OCR peut parfois surmonter ces, ou de nombreux bulletin board spammeurs ont quelques trucs astucieux pour obtenir ces dernières.

Données sous forme d'images

Parfois, vous savez quelles sont les parties de vos données sont précieuses. Dans ce cas, il devient raisonnable de remplacer ce texte par une image. Comme avec le Test de Turing, il y a un logiciel OCR qui peut le lire, et il n'y a aucune raison pour que nous ne pouvez pas enregistrer l'image et avoir quelqu'un pour le lire plus tard.

Souvent, cependant, l'inscription de données comme une image sans texte alternatif est en violation de l'Americans with Disabilities Act (ADA), et peuvent être surmontés avec un couple de coups de téléphone à une société de service juridique.

Obfuscation du Code

En utilisant quelque chose comme une fonction JavaScript pour afficher les données de la page si ce n'est pas n'importe où dans le code source HTML est un bon truc. D'autres exemples comprennent la mise prolifique, étrangères les commentaires par le biais de la page ou d'avoir une page interactive qui ordonne les choses d'une manière imprévisible (et l'exemple que je pense utilisé le CSS pour rendre l'affichage de la même peu importe l'arrangement du code.)

Les Sprites CSS

Récemment, nous avons rencontré quelques cas où une page possède l'une des images contenant des chiffres et des lettres, et utilisé le CSS pour afficher uniquement les personnages qu'ils ont désiré. C'est en effet une combinaison des 2 méthodes. Nous avons tout d'abord d'obtenir que le maître de l'image et de lire ce que les personnages sont là, alors que nous aurions besoin de lire le CSS dans le site et déterminer le caractère de chaque balise a été pointée.

Bien que ce soit très intelligent, j'imagine que ce serait trop aller à l'encontre de l'ADA, mais je n'ai pas testé encore.

Limiter les résultats de recherche

La plupart des données que nous voulons obtenir à l'est, derrière une sorte de forme. Certains sont faciles, et en soumettant un formulaire vierge donnera tous les résultats. Certains ont besoin d'une astérisque ou pour cent mis en forme. Les plus difficiles sont celles qui vont vous donner une limite au nombre de résultats par requête. Parfois, nous venons de faire une boucle qui va remettre les lettres de l'alphabet pour la forme, mais si c'est trop général, il faut faire une boucle pour soumettre toutes les combinaison de 2 ou 3 lettres–c'est 17,576 les demandes de page.

Le Filtrage IP

À l'occasion, un assidu webmaster remarquerez un grand nombre de demandes de page provenant d'une adresse IP particulière, et de bloquer les demandes de ce domaine. Il y a un certain nombre de méthodes pour transmettre les demandes à l'aide d'autres domaines, cependant, si cette méthode n'est généralement pas très efficace.

Site De Bricolage

Grattage toujours des clés en dehors de certaines choses dans le code HTML. Certains sites ont les ressources nécessaires pour constamment peaufiner leur code HTML de sorte que tous les éraflures sont constamment à jour. Par conséquent, il devient non rentable de mettre à jour continuellement les gratter pour la des conditions en constante évolution.

10voto

JamesSugrue Points 8426

Il est assez difficile d'empêcher le grattage d'écran, mais si vous le vouliez vraiment, vous pourriez changer votre code HTML fréquemment ou changer fréquemment les noms des balises HTML. La plupart des grattoirs d'écran fonctionnent en utilisant des comparaisons de chaînes avec des noms de balises, ou des expressions régulières recherchant des chaînes particulières, etc.

5voto

Bill the Lizard Points 147311

Ce serait très difficile à empêcher. Le problème est que les pages Web sont destinées à être analysées par un programme (votre navigateur), de sorte qu'elles sont exceptionnellement faciles à gratter. Le mieux que vous puissiez faire est d'être vigilant et si vous constatez que votre site est en train d'être éraflé, bloquez l'IP du programme incriminé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X