45 votes

Empêcher la copie de texte dans une page web

J'ai une application de quiz. Un robot pose différentes questions dans le chat, ces questions appartenant à différents domaines de connaissances. L'utilisateur qui répond à la question en premier, reçoit des points. Le problème est que certains utilisateurs vont chercher les réponses sur Internet. Je veux empêcher d'une manière ou d'une autre les utilisateurs de copier la question depuis une page web et de googler les réponses.

Je ne suis même pas sûr que ce soit possible, mais quelqu'un a sans doute une idée ?

96voto

mowwwalker Points 5977

Ici : Comment désactiver la mise en évidence de la sélection de texte à l'aide de CSS ?

-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
user-select: none;

Empêchez-les de répondre lorsque l'événement onBlur de la fenêtre est déclenché. Ils peuvent toujours utiliser d'autres appareils, mais ils ne pourront pas tricher sur le même ordinateur.

25voto

Anuj Kaithwas Points 332

Dans la balise div où vous avez collé votre question, ajoutez la ligne de code suivante :

<div id="test" onmousedown='return false;' onselectstart='return false;'>

Cela empêchera la copie de tout ce qui se trouve dans les balises...

15voto

Pekka 웃 Points 249607

Il n'y a pas de bon moyen de le faire. Un tricheur sera capable de contourner à peu près tout.

La seule chose qui me vient à l'esprit est d'afficher les questions sous forme d'images générées dynamiquement. Cela permettrait de se protéger contre le copier-coller. Il vous faudra cependant décider de l'importance de cette protection. La plupart des questions courtes peuvent être tapées dans Google en un rien de temps, n'est-ce pas ?

8voto

shiggity Points 501

Notez que cette question peut être trouvée via Google par des personnes qui veulent contourner une règle de non-copie via un script Greasemonkey ou autre du côté du navigateur.

En plus de la désactivation de la sélection, j'ai vu la tactique suivante sur au moins un site web :

<body oncopy="return false" onpaste="return false" oncut="return false">...</body>

5voto

Guest Points 51

Vous pourriez aussi faire en sorte que la page soit une image au lieu de html/texte.

Il n'est pas facile de copier le texte d'une image. Il faut le sauvegarder et le traiter par OCR.

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