2011-11-13 39 views
0

Supose我有一些与JavaScript客户端验证和服务器端验证的形式。没有服务器端的客户端Javascript表单验证 - 它安全吗?

如果用户在浏览器中禁用了JavaScript,则不会提交按钮,因此如果未启用js,他将无法发送任何数据。

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

在此先感谢和抱歉我的(可能)明显的问题!

+0

有没有办法可以因为*关闭Javascript *或更好呢*注入我自己的Javascript * ...哦,看看,我拥有你的盒子。 – zellio

回答

5

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

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

永远不要信任客户。

+0

我考虑保存服务器资源。但它不安全,我将使用服务器端验证。谢谢! –

+0

它现在在本地机器上 –

+0

节省资源,在重要的地方。除非您的验证代码每天都值得,否则它总是会使用无意义的资源量。 – Esailija

1

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

1

任何能够自行禁用javascript的人都可能也可以自行创建任意POST请求。好吧,我可能会夸大其词,但仍然不安全,因为有人可以在不使用浏览器的情况下执行POST请求,更不用说您的表单了。

0

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

客户端验证的好处是速度很快,在用户输入正确的输入之前,我们从来没有打过服务器。这节省了时间并避免了用户的影响。这在大型表单中非常有用。 然而,缺点是一个坏人可以重写客户端验证,因此为了避免这种情况,我们应该在处理数据之前在服务器端进行验证。

相关问题