2009-09-15 2 views
1

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

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

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

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

С наилучшими пожеланиями, Каспер

+0

В последнем абзаце описываются мои вопросы. – Chau

ответ

0

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

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

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

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

проблемы:

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

Эй, это точно то, что я ищу. Я обязательно погружусь в это - Спасибо! – Chau