可以从浏览器检查器控制台禁用Javascript / Jquery吗?

时间:2014-03-05 17:18:49

标签: javascript jquery web-inspector

您好我正在考虑是否有任何方法可以禁用从检查器控制台更改javascript / jquery的功能?

以防万一你要避免用户使用控制台从DOM交互和更改内容,或者发送表单以避免从javascript进行一些检查。

或者不可能这样做,你只需要在服务器端做所有安全或这类事情?

谢谢!

2 个答案:

答案 0 :(得分:3)

客户端的任何东西永远不会完全安全。这是因为它不仅可以通过浏览器的开发人员工具进行操作,还可以通过任意数量的其他第三方工具进行操作。

服务器本身必须是完全安全的,因为无法保证甚至从网站本身发出请求,更不用说javascript验证没有被篡改。

答案 1 :(得分:0)

是,禁用控制台只需在客户端上运行

Object.defineProperty(console, '_commandLineAPI', {
    get : function() {
        throw "Console is disabled";
    }
});

这样就不会使用控制台了。

注意:没有100%安全的选项来解决这个问题,但至少这样做不会允许使用控制台。为您的服务器添加安全性,以查看哪些请求是合法的。

此功能仅适用于Chrome,这是因为Chrome将所有控制台代码包装在:

with ((console && console._commandLineAPI) || {}) {
  <code area>
 }

Firefox有一种不同的方式来从控制台包装代码。这就是为什么这不是对控制台命令的100%安全保护