【发布时间】:2010-08-26 09:22:21
【问题描述】:
在我的项目中,我在表示层和持久层进行了重复验证,希望提高安全性。所以我的问题是:标准的 JSF 验证可以防止代码注入吗?
<h:inputText id="name" value="#{bean.customer.name}" required="true" requiredMessage="Validation Error: Value is required." title="Name" >
<f:validateLength maximum="40"/>
</h:inputText>
这里我验证字段是否为空,并验证字段长度。我知道验证字段长度会使代码注入变得更加困难,但有时您需要较长的字段长度,例如textArea。如果这是脆弱的,我将如何解决它?非常感谢您。
【问题讨论】:
-
这与您的原始问题无关,但我注意到您在表示层中重复验证,我认为值得一提的是,可以使用 Ajax 重用相同的验证逻辑在表示层的持久性(或业务)层中可用。只需使用适合您需要的机制(例如 JSP)将这些逻辑公开为 Ajax 服务,并在需要执行验证时使用 Ajax 调用在客户端调用它们。
标签: java security jsf sql-injection code-injection