【发布时间】:2017-01-08 21:37:46
【问题描述】:
我正在使用 express 中间件 csurf 进行 CSRF 保护。如果我将它与表单一起使用,我将令牌放入隐藏字段中,则路由后面的操作会起作用。现在我想做一个简单的 AJAX 调用,但是 csurf 说它无效。
AJAX 调用:
$('.remove').on('click', function () {
var csrf = $(this).attr('data-csrf');
$.ajax({
type: 'DELETE',
url: '/user/' + $(this).attr('data-id'),
data: {
_csrf: csrf
},
success: function (data) {
//.....
}
});
});
以及视图中的部分:
<td class="uk-table-middle">
<button data-id="{{ _id }}" data-csrf="{{ csrfToken }}" class="uk-button-link uk-text-large remove">
<i class="uk-icon-remove"></i>
</button>
</td>
以及来自中间件的初始化:
import * as csurf from 'csurf';
// init bodyparse and and and...
app.use(csurf());
【问题讨论】:
标签: jquery ajax node.js express csrf