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上传但不愿意这样做。有没有启用它并上传这些文件?