繁体   English   中英

在没有服务器端的客户端进行Java表单验证-安全吗?

[英]Javascript form validation on client side without server side - is it safe?

假设我有某种形式的JavaScript客户端验证,而没有服务器端验证。

如果用户在浏览器中禁用了javascript,将没有“提交”按钮,因此如果未启用js,他将无法向我发送任何数据。

但是我不知道有什么方法可以从客户端浏览器更改我的验证指令,以便他可以向我发送不受信任的数据,并对我的数据库造成一些损害。

在此先感谢您,并为我的(可能是)明显的问题感到抱歉!!!

不,这不安全。 使用服务器端验证。

例如,即使没有浏览器,我也可以阅读您的源代码。 然后,只需使用CURL发送包含恶意数据的发布请求。

永远不要相信客户。

不,这不安全。 例如,我可以在浏览器中打开JavaScript调试器并覆盖您的验证。

能够自行禁用javascript的任何人也可能也可以自行发出任意POST请求。 好的,我可能有点夸张,但这仍然不安全,因为有人可以在不使用浏览器的情况下执行POST请求,更不用说您的表单了。

我建议同时使用客户端和服务器端验证。

客户端验证的Benifit速度很快,在用户输入正确的输入之前,我们从不打服务器。 这样可以节省时间并避免用户烦恼。 这对于大型表单确实很有帮助。 但是,缺点是坏人可以覆盖客户端验证,因此,为避免这种情况,我们还应该在处理数据之前在服务器端进行验证。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM