如何防止用户使用浏览器进入调试模式

时间:2014-01-02 16:18:36

标签: javascript html debugging google-chrome browser

这可能听起来很愚蠢,但作为开发人员,我每天都在Chrome中使用调试器来测试我的Web应用程序,但是虽然这些工具对我们的开发人员很有价值,但它也可能会被用户用来对付我们混乱我们的系统。

您可能知道使用调试器重新启用先前设置为禁用的按钮或更改隐藏标记或变量的值非常简单。然后很容易发布一个不假设要发送的表格,伪造价值......

当您的页面在生产环境中显示时,是否可以阻止使用所有debbugging工具?

可以添加到网页的某种元标记,还是其他什么?

我知道我可以加扰我的JS脚本,但还有其他方法吗?

由于

3 个答案:

答案 0 :(得分:5)

不,这是不可能的。正如John Conde所说,您应该使用服务器端验证来防止无效输入。即使没有调用它们的“调试器”,用户也可以随时将请求(带有虚假数据)GET / POST到表单提交URL。

答案 1 :(得分:3)

JavaScript验证用于改善用户体验,而不是用于保护数据;它运行在客户端上,因此恶意客户端可以随时更改它。发送到服务器的任何内容都需要由服务器验证,客户端不能弄乱或绕过验证。

除了调试器之外,还有cURL等工具可用于向服务器发送任何 GET或POST请求。作为开发人员,cURL对于让服务器相互通信非常方便(我使用它的时候,这是因为我的数据库与我的UI不在同一个Web服务器上),但这意味着您的服务器必须能够安全处理发送给它的任何请求,即使是那些JavaScript不允许的请求。

答案 2 :(得分:0)

我有2个想法将其限制为80%。

  1. 禁止右键单击
  2. 使用setInterval函数监视html标签的更改。如果将其更改回原始值或将网站重定向到任何其他地址,例如google.com。