Защита формы отправки с ajax: с или без токена csrf - PullRequest
1 голос
/ 10 ноября 2010

У меня есть форма, защищенная токеном CSRF.Я не знаю всех деталей токенов CSRF, но слышу, что они хороши для безопасности форм.Если форма отправляется слишком поздно, она выдает ошибку, поэтому токен CSRF, кажется, работает как положено.

С другой стороны, когда я отправляю форму с помощью ajax, как я могу проверитьтаким же образом я проверяю нормальную форму?Я не думаю, что у меня будет объект формы для проверки.

  • Есть ли риск использования ajax?
  • Когда я принимаю вызов ajax, как я могу проверить его так же, как я проверяю нормальную форму?Я подумал передать ключ с запросом (например, ключ API), чтобы доказать, что вызов выполняется из моего приложения, но как я могу сохранить этот ключ невооруженным глазом?

1 Ответ

1 голос
/ 10 ноября 2010

Есть ли риск с использованием ajax?

На самом деле нет большего риска, чем любой другой запрос к вашему серверу.

Когда я принимаю ajaxпозвоните, как я могу проверить это так же, как я проверяю нормальную форму?

Я не знаю, как вы проверяете форму сейчас?:)

Возможно, вы захотите поделиться этим кодом на стороне сервера.Создайте общий метод / функцию / все, что обрабатывает форму, учитывая пары ключ / значение.Единственное, что отличается от AJAX - это то, как пары ключ / значение отправляются на сервер и каков форматированный ответ.Извлеките проверочный код из этих подробностей, и вы можете просто вызвать его из обоих мест.

Очевидно, что код AJAX должен также отправлять токен CSRF.с запросом (как ключ API), чтобы доказать, что вызов сделан из моего приложения, но как я могу сохранить этот ключ невооруженным глазом?

Это было бы бессмысленно.JavaScript отправляется в виде простого текста, поэтому любой, кто знает что-либо о JavaScript, сможет извлечь ключ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...