質問: joomla csrfフォーム検証 私が取り組んでいるコンポーネントでこれが時々起こることに気づきました。フォームでjhtml::_('form.token')を使用し、フォームデータを受信したらjsession::checktoken() or die('invalid token')を使用してチェックします。だから、毎回ダイスを誘発しています。私の考えの1つは、同じページにフォームトークンを使用するログインフォームがあることです(そのフォームは機能します)。また、どちらも同じトークンを使用します。この記事 http://docs.joomla.org/how_to_add_csrf_anti-spoofing_to_forms がcsrfの使用方法について公開されてから、何か変更はありますか?実装するのがいかに簡単かというと、自分がやっていることが「失敗」している様子がまったくわかりません。joomlaの最新バージョン(この投稿時点での3.3.6)を使用しています。更新:言うのを忘れて、フォームは常にpostを使用します。
回答: fofには、コントローラーに便利な_ csrfprotectionルーチンがあり、トークンをチェックするいくつかの方法があります。 jutility :: gettoken()(joomla 2.5の場合、joomla 3.xから削除) $ session-> gettoken() $ session-> getformtoken() または、以前のインスタンスの_tokenフィールド https://github.com/akeeba/fof/blob/development/fof/controller/controller.php#l3308