CSRF 보호를 위해 고속 미들웨어 csurf를 사용하고 있습니다. 양식과 함께 토큰을 숨겨진 필드에 넣으면 경로 뒤에있는 작업이 작동합니다. 이제는 간단한 AJAX 호출을 만들고 싶지만 csurf는 무효라고 말합니다.csurf AJAX 호출 - CSRF 토큰이 유효하지 않습니다.
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());
이것은 도움이되지 않았습니다. 작동하지 않는 이유는 배열과 토큰을 템플릿에 보내는 것입니다. 그리고 템플릿에서 배열을 반복하고이 범위에서 토큰을 찾지 못했습니다 .... 그 사실을 알지 못했습니다. – R3Tech