Empêcher la copie de texte dans la page web

j'ai un questionnaire. Lorsque robot poser différentes questions dans le chat, ces questions appartiennent à différents domaines de connaissances. L'utilisateur qui a répondu à la question en premier, reçoit des points. Le problème est que certains utilisateurs googlent les réponses. Je veux en quelque sorte empêcher les utilisateurs de faire face question de la page web et googler des réponses.

Je ne suis même pas sûr, que ce soit possible, de toute façon probablement quelqu'un a eu des idées

30
demandé sur Anton 2012-01-22 02:57:30

9 réponses

ici: comment désactiver la mise en surbrillance 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;

les empêche 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.

67
répondu mowwwalker 2017-05-23 12:17:55

dans votre balise div où vous collez votre question, ajoutez la ligne de code suivante:

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

ceci empêchera la copie de tout ce qui est dans les étiquettes...

17
répondu Anuj Kaithwas 2014-01-20 08:39:01

Il n'y a pas de bonne façon de le faire. Un tricheur sera capable de travailler à peu près tout.

la seule chose qui vient à l'esprit est de sortir les questions comme des images générées dynamiquement. Cela protégerait contre la copie-collage. Vous aurez à décider combien d'une protection qui est vraiment, bien que la plupart des questions courtes peuvent être tapées dans Google en un rien de temps, ne sont-ils pas?

9
répondu Pekka 웃 2012-01-21 23:00:45

vous pouvez aussi faire de la page une image au lieu de html/text.

il n'est pas facile de copier le texte d'une image. Il faudrait le sauver et L'ocrer.

4
répondu Guest 2013-08-15 23:13:09

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

en plus de la sélection handicapante, j'ai vu la tactique suivante dans au moins un site web:

<body oncopy="return false" onpaste="return false" oncut="return false">...</body>
4
répondu shiggity 2014-02-23 23:03:42

pourriez-vous placer un PNG transparent au-dessus de l'élément qui contient le quiz/question?

3
répondu Cornel Ghiban 2012-01-21 23:08:22

si vous utilisez JQuery, alors utilisez:

function disableSelection(target){
    $(function() {
         $(this).bind("contextmenu", function(e) {
             e.preventDefault();
         });
     }); 
     if (typeof target.onselectstart!="undefined") //For IE 
          target.onselectstart=function(){return false}
     else if (typeof target.style.MozUserSelect!="undefined") //For Firefox
          target.style.MozUserSelect="none"
     else //All other route (For Opera)
          target.onmousedown=function(){return false}
     target.style.cursor = "default";
}

appelez cette fonction où vous voulez désactiver.

$(document).ready(function(){
     disableSelection(document.body);
});
1
répondu Sheetal Kumar Maurya 2017-10-18 19:19:03

vous pouvez interroger chaque réponse donnée avec google et dans le cas où il n'y a pas de correspondance exacte, il est très probable que l'Utilisateur a tapé lui-même et vous pouvez accorder des points.

0
répondu Torbjörn 2012-01-21 23:03:06
<head>
<script type='text/javascript'>
var isCtrl = false;
document.onkeyup=function(e)
{
if(e.which == 17)
isCtrl=false;
}
document.onkeydown=function(e)
{
if(e.which == 123)
isCtrl=true;
if (((e.which == 85) || (e.which == 65) || (e.which == 88) || (e.which == 67) || (e.which == 86) || (e.which == 2) || (e.which == 3) || (e.which == 123) || (e.which == 83)) && isCtrl == true)
{
alert('This is Function Disabled');
return false;
}
}
// right click code
var isNS = (navigator.appName == "Netscape") ? 1 : 0;
if(navigator.appName == "Netscape") document.captureEvents(Event.MOUSEDOWN||Event.MOUSEUP);
function mischandler(){
    alert('This is Function Disabled');
return false;
}
function mousehandler(e){
var myevent = (isNS) ? e : event;
var eventbutton = (isNS) ? myevent.which : myevent.button;
if((eventbutton==2)||(eventbutton==3)) return false;
}
document.oncontextmenu = mischandler;
document.onmousedown = mousehandler;
document.onmouseup = mousehandler;
//select content code disable  alok goyal
function killCopy(e){
return false
}
function reEnable(){
return true
}
document.onselectstart=new Function ("return false")
if (window.sidebar){
document.onmousedown=killCopy
document.onclick=reEnable
}
</script>
</head>

<body>
  <h2>Disable code right click and ctrl a, ctrl u, ctrl c, ctrl v key and f12 and select content code</h2>
  <div>
    Some text...
  </div>
</body>
-1
répondu Alok Goyal Dadri U.P 2016-12-31 14:01:10