GWT中的客户端验证漏洞

时间:2011-06-14 04:54:20

标签: validation gwt

我正在使用GWT构建一个Web应用程序,并使用一个简单的java类在客户端执行文本框和其他字段的验证。我不确定用户是否可以在运行该代码期间绕过这些验证。请使用告诉我最好的安全方式,我可以在表格中进行验证。

4 个答案:

答案 0 :(得分:4)

通常,您需要在客户端和服务器上验证两者:在客户端上立即反馈给用户(方便,可选),并在服务器上进行安全性检查(必须!)。

与在客户端使用jQuery或类似的应用程序以及服务器端的不同语言相比,GWT的优势在于,您可以重用相同的验证代码进行客户端和服务器验证

答案 1 :(得分:3)

浏览器中的Javascript可能被黑客入侵/绕过,因此没有安全的方法来执行此操作。您不应该依赖javascript来执行任何与安全相关的功能。

您必须在服务器上进行安全检查,确保您的应用安全。

答案 2 :(得分:0)

以下是关于客户端与服务器验证视图的简短博文:

http://ashtoncthomas.blogspot.com/2011/03/gwt-validation-on-client-server.html

您可以在一些领域进行验证,并进行一些平衡,例如在客户端和服务器之间共享代码。

您是否在创建DTO之前或之后进行验证(如果您之后这样做,您可以共享一些代码,但您不能相信输入)

我构建了一个自定义验证框架,可以很容易地在客户端和服务器上进行捆绑验证,但每种情况都不同,所以我建议找一些适用于大多数项目或至少适用于当前项目的内容。

答案 3 :(得分:0)

自2006年以来,已承诺进行适当的客户端验证! http://code.google.com/p/google-web-toolkit/issues/detail?id=343 我不会屏住呼吸这个。

我已经从脆弱的自制客户端验证转移到往返验证,在这种验证中,您提交了一个实体处于无效状态的持久请求。如果你有一个运行服务器端的验证器,RequestFactory会在Receiver.onViolation()中发送一个Set。

这对我来说意味着更少的代码,代价是接收验证结果的客户端有一点延迟。它仍然比纯HTML表单快得多。

在以下位置查看验证实体: http://code.google.com/webtoolkit/doc/latest/DevGuideRequestFactory.html