авторизация asp.net с использованием URL - PullRequest
1 голос
/ 15 сентября 2009

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

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

Я хочу отправить письмо уже созданному пользователю (но не вошел в него) и позволить ему принять предложение, щелкнув ссылку в письме. Ссылка на курс указывает на страницу, которая выполняет операции с базой данных и показывает какой-то результат.

Какие методы и / или маршруты мне следует использовать для реализации этого? И поскольку это связано с безопасностью, чего мне следует остерегаться?

С уважением, Каспер

1 Ответ

0 голосов
/ 15 сентября 2009

Когда вы отправляете письмо, генерируете большую случайную строку и сохраняете ее в таблице со своим идентификатором пользователя и некоторым указанием того, что будет делать ссылка.

Затем отправьте им письмо со ссылкой на DoSomething.aspx?id=long_string_here.

Напишите DoSomething.aspx, чтобы он просматривал длинную строку и предоставлял пользователю подтверждение того, что он будет делать, и кнопку для этого. Вход в систему не требуется. Вы даже можете оставить пользователя в системе, если хотите.

После завершения действия или каждые X дней удаляйте строку из таблицы.

проблемы:

  1. Плохие люди могут пытаться попасть на вашу страницу случайными строками. Если ваши строки достаточно длинные и случайные, это не имеет значения, но вы можете ограничить доступ к странице или запретить более X запросов с IP-адреса за указанный период.
  2. Агрессивные спам-контролеры могут перейти по ссылке в теле письма. Убедитесь, что никакие операции не выполняются, просто зайдя на страницу; пользователь должен нажать на кнопку или иным образом вызвать POST.
...