Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 绕过XSRF令牌检查_Javascript_Jquery_Ajax_Jira_Csrf - Fatal编程技术网

Javascript 绕过XSRF令牌检查

Javascript 绕过XSRF令牌检查,javascript,jquery,ajax,jira,csrf,Javascript,Jquery,Ajax,Jira,Csrf,我试图利用jqueryajax将动态数据发布到JIRA中。其想法是通过“REST/API/2/issue/”发布到JIRA REST API 我相信我已经将所有jQuery都正确地布置好了。我遇到的问题是执行时的“XSRF令牌检查”。每次我尝试运行代码时,它都会从服务器返回“XSRF令牌检查失败” 我读过关于“X-Atlassian-Token”标题的文章。我在jira服务器配置中有一个允许的头。i、 e '标头始终设置访问控制允许标头“X-Atlassian-Token,授权,内容类型”' 我

我试图利用jqueryajax将动态数据发布到JIRA中。其想法是通过“REST/API/2/issue/”发布到JIRA REST API

我相信我已经将所有jQuery都正确地布置好了。我遇到的问题是执行时的“XSRF令牌检查”。每次我尝试运行代码时,它都会从服务器返回“XSRF令牌检查失败”

我读过关于“X-Atlassian-Token”标题的文章。我在jira服务器配置中有一个允许的头。i、 e

'标头始终设置访问控制允许标头“X-Atlassian-Token,授权,内容类型”'

我还设置了AJAX请求的标题。“X-Atlassian-Token”:“无支票”

有人能帮我让它正常工作吗? JIRA版本使用is 6.4.12进行测试

下面是我当前的AJAX代码,以供审阅

$.ajax({
    url: "https://my-jira-host.com/rest/api/2/issue/",
    type: "POST",
    async: false,
    headers: {
      "X-Atlassian-Token": "nocheck",
      "Content-Type": "application/json",
      "Authorization": "Basic " + btoa("<username>:<password>")
    },
    crossDomain: true,
    dataType: "json",
    data: JSON.stringify({"fields":{"project":{"key":"CLS"},"priority":{"name":"Minor"},"customfield_17125":{"value":"<Department>"},"customfield_17127":"<HOSTNAME>","customfield_17126":{"value":"<Object>"},"issuetype":{"name":"<issue-type>"},"customfield_17128":"dsfgfdsg","summary":"Department | HOSTNAME | Object","description":"sdfgfdg"}}),
    success: function(XMLHttpRequest, textStatus, errorThrown) {
      console.log("POST was a success!");
      console.log("HTTP Error Message: " + XMLHttpRequest.responseText);
      console.log("HTTP Status: " + XMLHttpRequest.status);
    },
    error: function(XMLHttpRequest, textStatus, errorThrown) {
      console.log("POST was a failure!");
      console.log("HTTP Error Message: " + XMLHttpRequest.responseText);
      console.log("HTTP Status: " + XMLHttpRequest.status);
    }
  });
$.ajax({
url:“https://my-jira-host.com/rest/api/2/issue/",
类型:“POST”,
async:false,
标题:{
“X-Atlassian-Token”:“nocheck”,
“内容类型”:“应用程序/json”,
“授权”:“基本”+btoa(“:”)
},
跨域:是的,
数据类型:“json”,
数据:JSON.stringify({“fields”:{“project”:{“key”:“CLS”},“priority”:{“name”:“Minor”},“customfield_17125”:{“value”:“}”,customfield_17127:”,“customfield_17126:{“value”:“}”,issuetype:{“name”:“}”,customfield_17128:“dsfgfdsg”,“summary”:“Department |主机名|对象”,“description”:“sdfgfdg”}),
成功:函数(XMLHttpRequest、textStatus、errorshown){
log(“发布成功了!”);
log(“HTTP错误消息:+XMLHttpRequest.responseText”);
log(“HTTP状态:+XMLHttpRequest.Status”);
},
错误:函数(XMLHttpRequest、textStatus、errorshown){
log(“POST失败了!”);
log(“HTTP错误消息:+XMLHttpRequest.responseText”);
log(“HTTP状态:+XMLHttpRequest.Status”);
}
});
我还应该提到,这段代码是从我内部创建的客户端网站发送的。客户端前端和JIRA主机都在同一个内部网络上。

XSRF(跨站点请求伪造)是JIRA用来防止用户被欺骗提交恶意数据的安全功能

如果您使用的是Firefox或Chrome,则可能需要使用如下伪值设置用户代理:

headers: {
  "X-Atlassian-Token": "nocheck",
  "Content-Type": "application/json",
  "Authorization": "Basic " + btoa("<username>:<password>"),
  "User-Agent": "xx"
},
标题:{
“X-Atlassian-Token”:“nocheck”,
“内容类型”:“应用程序/json”,
“授权”:“基本”+btoa(“:”),
“用户代理”:“xx”
},

但不允许设置-我仍然看到相同的问题,添加了提到的标题。没有成功