FuelPHPでAJAXのCSR対策のメモ

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()) {
//成功したときの処理
}

 

こんな感じで処理が可能。