0

処理のためにフォームに設定する必要がある値がありますが、ユーザーがこの値を編集できるようにしたくありません。隠し要素はほとんど私のニーズに合っていますが、賢いユーザーが隠しフィールドを有効にして変更できるのではないかと心配しています。

送信されたフォームの値がフォームがレンダリングされたときと同じであることを要求するバリデーターまたは Hidden 要素の設定はありますか?

setIgnore(true)フォームを処理するときに Zend_Form がその変数を読み取る必要があるため、私の状況には合わないと思います。

また、これは単なる HTML 設定であり、クライアントが簡単にオーバーライドできるため、私が知る限り、setAttrib('readonly', true)どちらも機能しません。

4

1 に答える 1

1

ユーザーによって POSTed されたデータに依存することはできません。フォームを制御する魔法のような方法があったとしても、必要に応じて、そのフィールドに別の値を指定して送信 URL への POST リクエストを偽造することができます。おそらく最善の策は、代わりにセッションに値を保存するか、少なくともセッションに値を保存して、送信された非表示フィールドの値と比較することです。

于 2010-09-03T16:35:35.783 に答える