あなたはまだケーキの提供フォームのセキュリティの仕組みを利用して、安全なAjaxの呼び出しを行うことができます。 これを行うには、非表示のフォームをレンダリングし、ajax呼び出しパラメータを格納するために入力を配置します。次に、Javascriptを使用してこれらのパラメータをフォームに設定し、それをシリアル化してajaxコールを行います。 CSRFチェックを有効にして(セッションごとに1トークンを無効にする)、新しい有効なCSRFトークンを使用してフォームを更新する必要があることを覚えておいてください(コントローラーで$this->request->params['_Token']['key']
と読むことができます)。
例:さらに参考のために、我々はdinamically変更されたクライアント側のフォーム上で有効なセキュリティを維持することを可能にするコンポーネントを作成し、フィールドやアクションAJAXを作るロックを解除する必要がなくなりいる
<?php
echo $this->Form->create('AjaxForm');
echo $this->Form->hidden('value');
echo $this->Form->end();
?>
<script>
function makeAjaxCall() {
$.post(
ajaxUrl,
$('#AjaxForm').serialize(),
function(data) {
$('#AjaxForm [name="data[_Token][key]"]').val(data.newCsrfToken)
}
);
};
</script>
コール。それはhttps://github.com/QTSdev/DynamicSecurityで見つけることができます。
コンポーネント(およびGithubページ)が消滅しました。新しいリンクがありますか? – schnauss