Как реализовать защиту CSRF в вызовах Ajax с использованием express.js (ищите полный пример)?

Я пытаюсь реализовать защиту CSRF в приложении, созданном с использованием node.js с использованием инфраструктуры express.js. Приложение широко использует почтовые звонки Ajax на сервер. Я понимаю, что инфраструктура подключения предоставляет промежуточное программное обеспечение CSRF, но я не уверена, как реализовать его в рамках клиентских запросов Ajax.

Об этом есть кусочки в других Вопросах, размещенных здесь в stackoverflow, но мне еще предстоит найти достаточно полный пример того, как реализовать это как на стороне клиента, так и на стороне сервера.

У кого-нибудь есть рабочий пример, которым они хотят поделиться, как реализовать это? Большинство примеров, которые я видел, предполагают, что вы визуализируете форму на стороне сервера и затем отправляете ее (вместе со встроенным полем формы csrf_token) на сторону клиента. В моем приложении весь контент отображается на стороне клиента (включая шаблоны) через Backbone.js. Все, что делает сервер - это предоставляет значения в формате JSON, которые используются различными моделями в Backbone.js на стороне клиента. Насколько я понимаю, мне нужно было бы извлечь csrf_token через ajax, прежде чем его можно будет использовать. Однако я обеспокоен тем, что это может быть проблематично с точки зрения безопасности. Это действительная проблема?

Ответы на вопрос(5)

Ваш ответ на вопрос