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()) {
//成功したときの処理
}
こんな感じで処理が可能。