题 防止在网页中复制文本


我有测验申请。机器人在聊天中提出不同的问题时,这些问题属于知识的不同领域。首先回答问题的用户,获得积分。问题是,一些用户在Google上搜索答案。我想以某种方式阻止用户从网页上回答问题和google搜索答案。

我甚至不确定,这是可能的,无论如何可能有人有任何想法


30
2018-01-21 22:57


起源


您是如何计划阻止具有正常运行记忆的人员将内容输入搜索引擎? - David Thomas
打字需要更多时间。打字时,会询问下一个问题 - Anton
使屏幕全屏,如果它失焦或退出全屏检测到并永远取消测试。 - Muhammad Umer
有20个版本的同一个问题重新编写。 - Muhammad Umer
如果用户精通Tech,那么他可以使用FIrefox / chrome中的firebug / developer工具进行复制。所以使用图像是您的最佳选择。 - Kishan Gajjar


答案:


这里: 如何禁用使用CSS突出显示文本?

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

当窗口的onBlur事件被触发时,禁止他们能够回答。他们仍然可以使用其他设备,但他们无法在同一台计算机上作弊。


66
2018-01-21 23:01



好的谢谢 - Anton
这也适用于放置容器div,您可以在其中显示来自Google Maps,MapQuest等的地图。 - Micky McQuade
真棒。我用这个用了 有雾的插件 在订阅之前隐藏内容。 - JacobLett
这很棒!谢谢 - A Umar Mukthar


在您粘贴问题的div标签中,添加以下代码行:

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

这样可以防止复制标签内的任何内容......


17
2017-08-18 19:45





没有好办法做到这一点。骗子将能够解决几乎所有问题。

想到的唯一事情就是将问题输出为动态生成的图像。这样可以防止复制粘贴。但是,您必须确定实际上有多少保护 - 大多数简短的问题可以立即输入Google,不是吗?


9
2018-01-21 23:00





您还可以使页面成为图像而不是html / text。

从图像中复制文本并不容易。它必须保存和OCR。


4
2017-08-15 22:31





请注意,想要的人可能会通过Google找到此问题 覆盖 通过浏览器端的Greasemonkey脚本等执行无复制规则。

除了选择禁用之外,我在至少一个网站上看到了以下策略:

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

4
2018-02-23 23:03





你可以在包含测验/问题的元素上放置一个透明的PNG吗?


3
2018-01-21 23:08





如果您使用的是JQuery,请使用:

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";
}

将此功能调用到要禁用的位置。

$(document).ready(function(){
     disableSelection(document.body);
});

1
2017-10-18 19:19





您可以使用谷歌查询每个给定的答案,如果没有完全匹配,用户很可能已经自己键入了它并且您可以授予积分。


0
2018-01-21 23:03