这听起来可能很愚蠢,但是作为开发人员,我每天都在Chrome中使用调试器来测试我的Web应用程序,但是尽管这些工具对我们开发人员来说很有价值,但用户可能还会用它来对付我们,搞砸了我们的系统。
您可能知道,使用调试器很容易重新启用以前设置为禁用的按钮,或者更改隐藏标签或变量的值。然后,使用伪造的值来发布不应该发送的表单很容易...
当您的页面在生产环境中显示时,这将是一种阻止使用所有调试工具的方法吗?
可以添加到网页的某种元标记,或其他?
我知道我可以打乱我的JS脚本,但是还有其他方法吗?
谢谢
不,这是不可能的。正如John Conde所说,您应该使用服务器端验证来防止输入无效。即使没有您所说的“调试器”,用户也始终可以将请求(包含虚假数据)获取/发布到表单提交URL。
JavaScript验证是为了改善用户体验,而不是为了保护您的数据;它在客户端上运行,因此恶意客户端可以随时对其进行更改。发送到服务器的任何内容都需要由服务器进行验证,在此客户端客户端不能混乱或绕过验证。
除了调试器之外,还有一些工具,例如cURL,可用于向服务器发送any GET或POST请求。作为开发人员,cURL非常适合让服务器相互通信(我使用它的时候,这是因为我的数据库位于与UI不同的Web服务器上),但这意味着您的服务器必须能够安全地进行通信。处理发送给它的任何请求,即使您的JavaScript不允许也是如此。
我有2个想法将其限制为80%。