pyList

golang fix: Invalid Csrf Header

在 AJAX 请求时加上相关参数,或者放在 X-Xsrftoken 或 X-Csrftoken 请求头里即可。

[csrf]
key    = "_xsrf"
cookie = "XSRF-TOKEN"
header = "X-XSRF-TOKEN"

js

$.ajaxSetup({
    beforeSend: function(jqXHR, settings) {
        type = settings.type
        if (type != 'GET' && type != 'HEAD' && type != 'OPTIONS') {
            var pattern = /(.+; *)?{{.CsrfCookieKey}} *= *([^;" ]+)/;
            var xsrf = pattern.exec(document.cookie);
            if (xsrf) {
                jqXHR.setRequestHeader('{{.CsrfHeaderKey}}', xsrf[2]);
            }
            
        }
}});

或

$.ajax({
    type: "POST",
    url: "/write/topic",
    headers: {'{{.CsrfHeaderKey}}': '{{.CsrfToken}}'},
    data: {'act': 'preview', 'content': content, '{{.CsrfKey}}': '{{.CsrfToken}}'},
    dataType: "json",
    success: function(data){
        //pass
    }
});

本文标签: golang Header Csrf
相关推荐
本文网址: https://pylist.com/t/1439305818 (转载注明出处)
如果你有任何建议或疑问可以在下面 留言
发表第一条评论!
验证码图片