FuelPHPでAJAXのCSR対策のメモです。忘れちゃうので。
ViewでTOKENを呼び出す→POSTでTOKENを送るようにする
・js_fetch_tokenの呼び出し
<?php echo Security::js_fetch_token();?>
・AJAXを作る
function save() { $.ajax({ type:'post', url: "送信先URL", cache: false, data: { fuel_csrf_token: fuel_csrf_token() }, statusCode: { 404: function(){ } }, }).done(function(data, textStatus, jqXHR){ //結果を受けたった処理 }).fail(function(data, textStatus, errorThrown){ //送信失敗した時の処理 }); }
※「fuel_csrf_token」は、Configの「csrf_token_key」を変更している場合は、変更した名前を呼び出すようにする。
例:Config::get(‘security.csrf_token_key’);
・PHP側処理
if (Security::check_token()) { //成功したときの処理 }
こんな感じで処理が可能。