【问题标题】:How to detect if the user views a page's javascript or clicks on inspect in the browser如何检测用户是否查看页面的 javascript 或单击浏览器中的检查
【发布时间】:2016-05-29 21:22:10
【问题描述】:

我希望能够检测用户是否检查网页上的任何内容,即点击检查。我想这样做是为了警告用户不要这样做 - 因为我想防止学生试图破解 javascript 代码并最终在考试中作弊。

谢谢。

(仅 chrome 的解决方案是可以的,但更喜欢更通用的解决方案。)

【问题讨论】:

  • 如果您不希望学生作弊,请使用 API 在服务器上验证答案,而不是在客户端。
  • 它被称为“默默无闻的安全”。不要这样做,否则你会被黑客入侵。 :)
  • 我没有在前端存储任何东西,但不希望他们看到正在拨打的电话等。这只是额外增加的保护。谢谢!

标签: javascript browser web-inspector


【解决方案1】:

除非您将答案存储在服务器端,否则您无法完全保护它。

但是,您可以在浏览器中禁用右键单击。您还可以让网页播放警报声,以在考试期间提醒您谁在做这件事。

将此添加到您的身体标签:

<body oncontextmenu="return false">

并添加此脚本:

<script language="javascript">
document.onmousedown=disableclick;
status="Right Click Disabled";
function disableclick(event)
{
  if(event.button==2)
   {
     alert(status);
     return false;    
   }
}
</script>

此外,如果有人试图访问开发控制台,您可以检测 F12 等按键并播放声音:

http://www.stepanreznikov.com/js-shortcuts/

【讨论】:

  • Ctrl+Shift+I、Ctrl+Shift+C、F12等
  • 好点,您也可以检测到这些。您仍然可以从“文件”菜单打开它,但我敢打赌,很多人使用键盘快捷键,如果您在考试期间播放声音而他们没有预料到,就会识别出使用它们的人。
  • 好吧,我认为我们应该依靠内部的 devtools 行为而不是点击和键盘。 :)
  • 测量写入控制台的时间是一种检测它的新颖解决方案!可能适用于这种情况,从长远来看,您希望继续针对特定浏览器和版本验证代码。酷...
  • 我刚刚尝试过,它实际上失败了。 :) 主要是因为我的笔记本有动态 CPU 频率。
【解决方案2】:

正如我所说,您不应该依赖它来实际保护您的信息。

但是对于这个问题:

http://blog.guya.net/2014/06/20/how-to-know-when-chrome-console-is-open/https://github.com/sindresorhus/devtools-detect 都够用了。

【讨论】:

  • 优秀的参考资料。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-13
  • 1970-01-01
  • 1970-01-01
  • 2014-04-12
  • 2013-12-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多