安全。应该在客户端上做什么以及在服务器上做什么?

时间:2014-09-02 09:31:54

标签: javascript jquery

我有一种用户库存,用户可以激活产品。假设我也要在服务器上进行验证,这个操作是在客户端完成还是有任何风险(用户改变了JavaScript代码)?

1 个答案:

答案 0 :(得分:0)

您在客户端上执行的任何操作都会受到影响,因为用户完全可以控制它。

客户端基本上向服务器发送请求,即使没有浏览器,您也可以向任何服务器发送任何请求,因此用户可以完全绕过您希望在客户端运行的任何JavaScript代码。因此,出于安全原因,您要执行的任何验证都必须在服务器端完成。

这并不意味着你不应该在客户端也这样做。您可以在客户端和服务器端执行相同的验证:

  • 客户端验证是为了方便和网站响应而完成的(您不希望用户每次都点击提交,看看他们输入的东西是不是很合适,不是吗?)
  • 服务器端验证是为了安全起见。这是确保某人不会遭到未经授权的访问,使您的网站崩溃或使用垃圾填充您的数据库的唯一方法。

另请注意,用户可以看到任何客户端验证源代码,因此请勿执行密码验证等操作。