Как я могу предотвратить атаку csrf на классическом сайте asp?

У меня есть приложение, разработанное на vb6 и классическом asp (12 лет назад). Теперь я должен предотвратить это от подделки межсайтовых запросов (CSRF).

Как я могу этого добиться?


person Amar Singh Rawat    schedule 31.08.2016    source источник
comment
Эта статья - Предотвращение атак CSRF и XSRF нашей собственной Джефф Этвуд ♦ подробно описывает два подхода, которые вы можете предпринять, в зависимости от того, как далеко вы хотите зайти. Я бы пошел с первым. подход.   -  person user692942    schedule 31.08.2016
comment
Спасибо @Lankymart за ваш комментарий. но здесь я ищу конкретный код для достижения этого в классическом asp. Я хорошо знаю CSRF и то, как предотвратить его в последних приложениях, таких как MVC. Но я не знаю, как добиться этого на классическом сайте asp, который был разработан с кодом vb6 12 лет назад.   -  person Amar Singh Rawat    schedule 31.08.2016
comment
Хорошо, что вы понимаете, в этом случае реализация ничем не отличается, только стек технологий. Так почему вы задаете вопрос? Вы просто хотите код? Это не то, о чем Stack Overflow, вы публикуете, как вы лично пытались решить эту проблему с четким минимальный воспроизводимый пример, и мы постараемся помочь.   -  person user692942    schedule 31.08.2016


Ответы (1)


вы можете добиться этого примерно так же, как в asp.net mvc.

  1. создать токен на сервере и сохранить его (например, в сеансе)
  2. отправить токен Клиенту
  3. Клиент отправляет его обратно на Сервер вместе с данными «нормальной» формы
  4. при необходимости проверьте токен на Сервере

вы даже можете «скопировать» функциональность asp.net и написать такую ​​функцию vbscript:

public function AntiForgeryToken()
    AntiForgeryToken = "<input type=""hidden"" name=""CSRFToken"" value=""" & session("CSRFToken") & """/>"
end function

' then in every form as needed:

<form>
<%=AntiForgeryToken()%>
<input type="text" name="" value="">
<input type="submit" value="submit">
</form>

дальнейшее чтение:

шаблон токена синхронизатора в классическом asp

Шпаргалка по предотвращению межсайтовой подделки запросов (CSRF)

person ulluoink    schedule 31.08.2016
comment
Отличный ответ, но ваш просто кормящий вопрос вроде этого, что работа сделана за них. - person user692942; 31.08.2016
comment
Большое спасибо @ulluoink - person Amar Singh Rawat; 01.09.2016