我发现这个陈旧且未得到答复question,我现在面临同样的问题。
我目前正在使用WildF 8.2上的JSF(PrimeFaces 5.1和Mojarra 2.2.8),我遇到以下情况:
我有一个包含多个字段的表单,包括最后一个验证码输入字段
这是我的验证码字段的代码:
<p:inputText id='captcha' required='true' validator='#{bean.captchaValidator}'... />
这里提交的代码是&#39;按钮:
<p:commandButton id='submit' action='#{bean.forwardPage}' />
对于&#39;标准案例&#39; (普通用户通过给定的表格输入和提交他的数据)验证工作完全正常,如设计的那样。但现在让我们假设用户/机器人试图破解页面并拦截/操纵提交的请求。
我目前使用名为OWASP ZAP的代理进行测试。在表单中输入一些随机数据后,我截获了提交请求,我得到了类似的内容:
...&form%3Alastname=Test&form%3Afirstname=User&form%3Acaptcha=bla&...
我现在可以轻松地从请求中删除验证码参数,并且将执行转发/提交而不执行验证码验证。作为一种解决方法,我目前在forwardPage方法中手动执行验证,但我想知道是否有人知道这个问题的更通用的解决方案。