ci中的csrf问题
在config中开起了$config['csrf_protection'] = TRUE; $("#FeedbackButton").click(function() {if ($('#info').val() == '') {
$('#info_error').html('请填写反馈内容!');
return false;
}
var data = {
"<?php echo $this->security->get_csrf_token_name(); ?>":"<?php echo $this->security->get_csrf_hash(); ?>",
"info": $('#info').val(),
"title": $('#title').val(),
}
$.ajax({
type: 'POST',
url: "./feed_back",
data: 'data=' + JSON.stringify(data),
success: function(result) {
// console.log(result);
if (result == 1) {
alert('提交成功,谢谢您的反馈!');
}else{
$("#info_error").html("反馈失败!");
$("#info_error").hide(1000);
return false;
}
}
});
});
关闭csrf是没问题的 而且在ajax中加入了如下
var data = {
"info": $('#info').val(),
"title": $('#title').val(),
"<?php echo $this->security->get_csrf_token_name();?>":"<?php echo $this->security->get_csrf_hash();?>"
}
最后查看cookie
Cookie:pgv_pvi=488370176; pgv_si=s5763857408; ci_session=6109f6555a30c062dda4bea335b33a0ffced287b; csrf_cookie_name=9976c5c9d7aa3588f8092ab86d059aa2; Hm_lvt_cf1920cd78fec4dcdfbe5f528a5aa8c6=1453900856; Hm_lpvt_cf1920cd78fec4dcdfbe5f528a5aa8c6=1453906528
data中也有data:{"info":"事实上试试","title":"学生","csrf_test_name":"9976c5c9d7aa3588f8092ab86d059aa2"}
但是就是报错 403The action you have requested is not allowed break 发表于 2016-2-17 18:57
$("#FeedbackButton").click(function() {
if ($('#info').val() == '') {
$('#info_error').h ...
你的沒問題應該僅限於 cookie 值吧 ?
url 我會建議給予完整路徑
可以使用 site_url()
data 則是可以直接接收 json 格式
意味著,即使你直接拿 var data 給 data
也是可以傳送成功
另外 'data=' 這是多餘的
你的問題可能來自於上述的兩個答案
本帖最后由 Closer 于 2016-1-28 09:53 编辑
break 发表于 2016-1-27 22:57
而且在ajax中加入了如下
var data = {
"info": $('#info').val(),
route 或ajax 有寫錯的地方
無關 csrf
如果是 csrf 的問題,會有 CI 式的報錯 Closer 发表于 2016-1-28 09:45
route 或ajax 有寫錯的地方
無關 csrf
能详细指点下吗? break 发表于 2016-2-11 09:46
能详细指点下吗?
關閉 CSRF 的情況
能正確傳值 ? Closer 发表于 2016-2-15 10:29
關閉 CSRF 的情況
能正確傳值 ?
能的,所有的代码都在上面贴出来了 break 发表于 2016-2-15 21:30
能的,所有的代码都在上面贴出来了
我所謂能正確傳值是指
你送往該 route 的方法
然後直接 print_r() 或 die()
是否有反應 ? 传不过去,403.能QQ指导吗? break 发表于 2016-2-16 23:06
传不过去,403.能QQ指导吗?
我很久沒在用 QQ 了
也許你可以提供完整的 ajax 程式碼 ?
ajax 傳送不成功
大多是 route 不正確和 ajax 傳輸格式錯誤有關
页:
[1]
2