我有一个值需要在处理表单中设置,但我不希望用户能够编辑此值。一个隐藏的元素将主要满足我的需求,但我担心一个聪明的用户可以启用隐藏的字段并进行更改。
隐藏元素上是否有验证器或设置要求提交的表单值与表单呈现时相同?
我不认为setIgnore(true)
符合我的情况,因为我在处理表单时需要Zend_Form来读取该变量。
另据我所知,setAttrib('readonly', true)
无法正常工作,因为这只是一个可以轻松被客户端覆盖的HTML设置。
答案 0 :(得分:1)
您不能依赖用户发回的任何数据。即使有一些神奇的方法来控制表单,有人仍然可以根据需要为您的提交URL伪造一个POST请求,并为该字段添加不同的值。您最好的选择可能是将值存储在会话中,或者至少将值存储在会话中并将其与提交的隐藏字段值进行比较。