Codeigniter具有CSRF保护和multipart / formdata请求标头

时间:2014-10-25 04:52:24

标签: javascript ajax codeigniter csrf

var xhr = new XMLHttpRequest();
var temp = "csrf_test_name="+document.getElementsByName("csrf_test_name")[0].value;

xhr.open("POST", "upload", true);

xhr.onreadystatechange=function(){
    if (xhr.readyState==4 && xhr.status==200){
            console.log(xhr.responseText);
    }
} 

xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send(temp);

以上代码有效且不会导致500错误(对于csrf失败)。我想上传文件,所以我需要将Request Header更改为以下内容:

xhr.setRequestHeader("Content-Type", "multipart/form-data");

当我这样做时,它无法通过csrf检查。我已经看到其他建议涉及关闭csrf上传但不愿意这样做。有没有启用它并上传这些文件?

0 个答案:

没有答案