所以我希望能夠在我的笨應用CSRF保護,但這意味着我的js不再當它在一個外部文件在外部JS獲取CSRF令牌文件
function saveToDatabase(editableObj,field,id)
{
var pathArray = window.location.pathname.split('/');
var segment_3 = pathArray[3];
var save_data = {
'<?php echo $this->security->get_csrf_token_name(); ?>' : '<?php echo $this->security->get_csrf_hash(); ?>',
'field':field,
'editedValue':editableObj.innerHTML,
'id':id
};
$.ajax({
url: segment_3+'/update',
type: 'POST',
data:save_data,
success: function(){
$(editableObj).addClass('bg-success');
}
});
}
我測試通過複製粘貼到工作該視圖文件,它工作得很好。 所以問題是,這條線
'<?php echo $this->security->get_csrf_token_name(); ?>' : '<?php echo $this->security->get_csrf_hash(); ?>',
在外部文件無法正常工作?有什麼方法可以使這個工作?
你確定這是不危險的,如果說惡意用戶在這個頁面上? 編輯: - 剛剛發現CI的人不會在窗體上自動執行此操作。 – Killzerman
不,因爲我只是得到外部JavaScript的PHP值沒有別的..因爲惡意用戶到外部JavaScript也是正確的? –
我只是好奇,如果有HTML中顯示的csrf標記名稱和哈希是危險的或不。 – Killzerman