Sencha のフロントエンド アプリを作成し、そのバックエンドは PHP/Joomla で作成しました。Sencha JS アプリから送信されたデータは、PHP と Joomla フレームワークを使用して検証および保存されます。
Sencha JS アプリで CSRF トークンを作成し、それを PHP/Joomla コードで検証するにはどうすればよいですか?
Sencha のフロントエンド アプリを作成し、そのバックエンドは PHP/Joomla で作成しました。Sencha JS アプリから送信されたデータは、PHP と Joomla フレームワークを使用して検証および保存されます。
Sencha JS アプリで CSRF トークンを作成し、それを PHP/Joomla コードで検証するにはどうすればよいですか?
Joomla フォームは、新しい投稿ごとにチェックされるトークンで保護されています。トークンは、フォームに挿入する単なる隠しフィールドです。
echo JHtml::_('form.token');
これは、コントローラーで次のようなものでチェックされます
JSession::checkToken('post') or jexit(JText::_('JInvalid_Token'));
これは、標準の get/post インタラクションではうまく機能します。しかし、Ajax を使用する場合は、リクエストが行われるたびに新しいトークンを取得する方法が必要になります。
その後、コントローラーは戻る必要があります
JSession::getFormToken()
次の呼び出しにそれを含める必要があります。
注意: ajax 応答がキャッシュされていないことを確認してください。最初のコード スニペットで挿入された非表示のトークン入力がページ キャッシュによって適切に処理されている間は、他の発生を更新することに注意する必要があります。