您好我正在考虑是否有任何方法可以禁用从检查器控制台更改javascript / jquery的功能?
以防万一你要避免用户使用控制台从DOM交互和更改内容,或者发送表单以避免从javascript进行一些检查。
或者不可能这样做,你只需要在服务器端做所有安全或这类事情?
谢谢!
答案 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%安全保护