ユーザー入力をフィルタリングする (タグなどのユーザー データをブラックリストに登録する) ことにより、Web アプリでのユーザー入力を確実にサニタイズしようとしています。基本的に、Zend は、開発者が要件と見なす場合はいつでもこれを具体的に行うことを提案しているため、ページ A にフォームがある場合は、フォーム データが取得された後にその pageAaction() でフィルタリングを行う必要があります。アプリ内のすべてのフォーム データは次のように取得されます。
$this->_request->getParams();
$this->_request->getParam('specificParamName'); // to return specific param
さて、私の Web アプリでは、すべてのユーザー入力は、ブラックリストに登録されたフィールドに対してサニタイズする必要があります。フォームごとにブラックリストと比較するのではなく、明らかにコードを 1 か所に集中させたいと考えています。私の理解では、これは常にフォームデータを取得する場所であるため、_request オブジェクトの getParams() または getParam() メソッドで行う必要があります。
はいの場合、どうすれば同じことができますか? コアの Zend クラスに手を加えたり、独自の変更を加えたりしたくありません。
そうでない場合、コードを一元化するための最善の戦略は何ですか?
免責事項: Zend フォームは使用しておらず、代わりに独自のフォームをカスタム作成しています。