我在网站上停用了Google Chrome开发者工具。但是,仍然可以使用以下方法访问它,
如何禁用此行为?如果Google Chrome开发者控制台已经打开,我如何关闭它?
答案 0 :(得分:8)
没有可靠的方式来阻止客户端修改或查看发送到浏览器的任何数据。
我无法找到合适的理由,或者需要禁用Chrome中的F12开发者工具等工具。只要你发送数据,也不会有办法执行这样的操作。
让我们假设Chrome中的一些错误,或者使用javascript-您可以禁用对开发人员工具的访问权限。太棒了!但是,是什么阻止了恶意与否的用户向您的网站发出cURL请求,只是保存HTML以便以后编辑和查看?没有!
应遵循的做法,而不是无效地阻止访问开发者工具:
即使有人能够修改您网站的源代码,那又怎么样?假设您遵循正确的做法和指导方针并不重要。身份验证和逻辑都在服务器端处理,javascript / html只应用于增强用户的体验 - 不执行关键逻辑或数据交互。
答案 1 :(得分:3)
据我所知,这是不可能的
无论如何,最好避免使用。即使可以找到解决方案,请记住,现在大多数浏览器都允许用户阻止Javascript干扰他们的浏览器设置和窗口镶边,即使使用window.open也是如此。所以你绝对没有办法保证你正在寻找的行为。但是,你可以使用技巧阻止F12键它可能对你有所帮助..
window.oncontextmenu = function () {
return false;
}
document.onkeydown = function (e) {
if (window.event.keyCode == 123 || e.button==2)
return false;
}
我刚试过这个,它为我工作...... http://output.jsbin.com/vayukuqubo
只是禁用了rightclick & F12 on your page
,但无法阻止用户打开Dev Tools Menu > Tools > Developer tools
答案 2 :(得分:2)
事实上,您永远不应禁用对客户端工具的控制,以确保您的网站/数据安全。
您无法阻止用户以一种或另一种方式打开开发者控制台,但有一种方法可以阻止用户进行恶意活动/玩您的网站(非常糟糕但可能)。您可以参考this question获取详细的理解和解决方案。
保护数据的唯一合理方法是在服务器端编写安全代码,并记住,如果您允许某人下载某些数据,他可以随心所欲地使用它。
答案 3 :(得分:0)
我能做的最好的就是看用户是否在开发工具中。这是我的代码:
<!DOCTYPE html>
<html>
<body>
<pre id="output"></pre>
<script type="text/javascript">
var element = new Image;
var devtoolsOpen = false;
element.__defineGetter__("id", function() {
devtoolsOpen = true; // This only executes when devtools is open.
});
setInterval(function() {
devtoolsOpen = false;
console.log(element);
if (devtoolsOpen == true) {
// run code if dev tool are open
} // else here if you like to see if dev tools are not open
}, 1000);
</script>
</body>
</html>
每秒都会显示用户是否打开了开发工具。