Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 禁止用户复制问题文本,即使是从开发工具复制_Javascript_Html_Css_Security_Dom - Fatal编程技术网

Javascript 禁止用户复制问题文本,即使是从开发工具复制

Javascript 禁止用户复制问题文本,即使是从开发工具复制,javascript,html,css,security,dom,Javascript,Html,Css,Security,Dom,我们有一个在线测验web应用程序,每天都有相当多的奖品颁发给获奖者,最近我们注意到获奖者数量显著增加,我们怀疑有一扇打开的作弊之门,因此,我们已经涵盖了很多领域,但我们现在主要关注的是从DOM中删除问题文本,因为用户可能能够复制问题文本并搜索答案 user select设置为none,但是他们可能会从dev tools中禁用它,即使无法在站点中打开dev tools,用户可以在访问站点之前打开它来解决此问题 我们已经尝试渲染SVG包含文本路径,但它引发了太多样式问题,其中一些无法处理文本方向、填

我们有一个在线测验web应用程序,每天都有相当多的奖品颁发给获奖者,最近我们注意到获奖者数量显著增加,我们怀疑有一扇打开的作弊之门,因此,我们已经涵盖了很多领域,但我们现在主要关注的是从DOM中删除问题文本,因为用户可能能够复制问题文本并搜索答案

user select设置为none,但是他们可能会从dev tools中禁用它,即使无法在站点中打开dev tools,用户可以在访问站点之前打开它来解决此问题

我们已经尝试渲染SVG包含文本路径,但它引发了太多样式问题,其中一些无法处理文本方向、填充、新行等


我正在寻找一种解决方案,禁止用户选择问题的文本,即使是从开发工具中。

您可以尝试使用服务器上生成的图像来呈现问题。但是,用户仍然可以手动输入。没有什么可以阻止这一点。

如果SVG不适合您,您可以尝试canvas,尽管在我看来前者更合适。无论您做什么,您都无法阻止屏幕截图被传递给读取文本的OCR程序。无法阻止人们读取DOM。你可以随意模糊它,但最终它是纯文本。你是在做svg渲染服务器端吗?至于使用OCR,如果涉及资金,一些简单的自动化可能会将文本输入到web搜索中quickly@MAS:您可以在服务器端呈现图像/组件。如果用户无法以编程方式复制粘贴或启用“用户选择然后搜索”,则每个问题的时间有限,只有10秒,那么我认为他们没有足够的时间作弊。如问题中所述,图像很难设置样式page@MAS哦,我跳过了那部分。因此,仍然没有办法检测devtools是否打开。有一些技巧可以做到这一点: