如果已经打开,如何以编程方式关闭Google Chrome开发人员工具?

Ami*_*mit 2 javascript security google-chrome google-chrome-devtools web

我在网站上停用了Google Chrome开发者工具.但是仍然可以使用以下方法访问它,

  1. 打开另一个网站说www.google.com
  2. 按F12 - >将打开开发人员控制台
  3. 访问我的网站 - > Bingo chrome开发人员工具现在可以使用我的网站了.

如何禁用此行为?如果Google Chrome开发者控制台已经打开,我如何关闭它?

Bin*_*ved 8

没有可靠的方法来阻止客户端修改或查看发送到其浏览器的任何数据.

我找不到合适的理由,或者需要禁用Chrome中的F12开发工具等工具.只要你发送数据,也不会有办法执行这样的操作.

让我们假设Chrome中的一些错误,或者使用javascript-您可以禁用对开发人员工具的访问权限.那很棒!但是,是什么阻止了恶意与否的用户向您的网站发出cURL请求,只是保存HTML以便以后编辑和查看?没有!

应该遵循的做法,而不是无效地阻止访问开发人员工具:

  1. 假设在任何时候发送给客户端的所有数据都被无限期保存.这也意味着客户可以随时查看您网站的源数据,以及您网站上曾存在的所有版本.即使客户端失去经过身份验证的访问权限,也不要发送可能在以后使用的任何敏感内容
  2. 假设客户端可能正在使用不遵守法规的浏览器.浏览器可能无法执行或解释您的javascript,甚至可能在最终呈现给最终用户之前对其进行修改.您应该为兼容的浏览器开发您的网站,同时了解您不能信任客户端的javascript来确定用户是否应该对页面进行身份验证,这种处理需要在服务器端进行.
  3. 确保您网站的所有页面都显示正确的版权和许可条款.如果你的担心是你所有的辛苦工作被盗:虽然让一个随机用户在工作数小时后窃取你网站的设计会很烦人.它们可能对您的项目影响不大.但是,明确规定的许可和版权可以防止任何在公司或学校项目中工作的人使用或不使用您的工作(取决于许可).

即使有人能够修改您网站的源代码..那又怎样?假设您遵循正确的做法和准则应该无关紧要.身份验证和逻辑都是在服务器端处理的,而javascript/html只应用于增强用户的体验 - 不执行关键逻辑或数据交互.


Ana*_*bhi 3

据我所知这是不可能的

无论如何最好避免。即使可以找到解决方案,请记住,当今大多数浏览器都允许用户防止 Javascript 干扰其浏览器设置和窗口镶边,即使在使用 window.open 时也是如此。所以你绝对没有办法保证你正在寻找的行为。

但是,是的,您可以使用技巧阻止 F12 键,这可能对您有帮助。

window.oncontextmenu = function () {
   return false;
}
document.onkeydown = function (e) { 
    if (window.event.keyCode == 123 ||  e.button==2)    
    return false;
}
Run Code Online (Sandbox Code Playgroud)

我刚刚测试了这个,它对我有用...... http://output.jsbin.com/vayukuqubo

它只是禁用禁用rightclick & F12 on your page,但无法阻止用户打开Dev Tools Menu > Tools > Developer tools