我应该在哪一方面验证表单数据,客户端或服务器端?

时间:2013-01-30 13:45:44

标签: spring security validation

起初,我打算通过javascript或jquery在客户端完成验证,类似的东西,但后来我发现一些恶意用户可能会跳过我的jsp页面,将未经验证的数据发送到我的servlet 。我的服务器端是使用Spring + SpringMVC + mybatis构建的,有什么方法可以保持客户端的验证,以及保持我的服务器安全(Spring安全帮助吗?)。非常感谢!

2 个答案:

答案 0 :(得分:4)

您应该始终在服务器端进行验证。

客户端验证只是为了方便您的(诚实)用户,并且不会增加系统的安全性。

必须始终完成服务器端验证,没有什么能让您的服务器自动安全(安全吗?必须确定哪些输入对您的应用程序,数据库,用户,它将如何使用等。)。

在服务器端重用客户端验证代码的唯一简便方法是使用Node.js或其他服务器端JavaScript,如Rhino

答案 1 :(得分:1)

不幸的是,您需要验证服务器端以确保其安全。

您做客户端的任何事情都可以被恶意用户撤消。通常,客户端验证用于更快地向用户反馈并防止服务器获得太多命中。所以它仍然非常有益,但你需要两者。