Frage

Diese Frage wurde problably fragte vor, aber es scheint, wie ich kann nicht Ausdruck meiner Suche richtig genug, um die Antwort zu finden.

Normalerweise, wenn Sie sich anmelden, um Zugang zu einem Forum im Internet zu bekommen, eine Autorisierung E-Mail an Sie gesendet wird, und Sie können auf einen Link klicken, der auf eine externe Seite führt, die die Genehmigung durchführt.

Was ich will, ist eine E-Mail zu einem bereits erstellten Benutzer senden (nicht jedoch angemeldet), und lassen Sie sie durch Klicken auf einen Link in der E-Mail einen Vorschlag akzeptieren. Der Link ofcourse verweist auf eine Seite, die die Datenbankoperationen und zeigt eine Art von Ergebnis führt.

Welche Techniken und / oder Weg soll ich nehmen, dies zu implementieren? Und da dies die Sicherheit im Zusammenhang, was soll ich achten?

Mit freundlichen Grüßen Casper

War es hilfreich?

Lösung

Wenn Sie die E-Mail senden, erzeugt eine große zufällige Zeichenfolge und speichert sie in einer Tabelle mit ihrem Benutzer-ID und einigen Hinweisen darauf, was der Link tun wird.

Dann sie die E-Mail mit einem Link zu DoSomething.aspx?id=long_string_here senden.

Schreiben DoSomething.aspx so, dass er die lange Reihe schaut auf und stellt dem Benutzer eine Bestätigung dessen, was sie tun werden, und eine Taste, um es zu tun. Keine Protokollierung in erforderlich. Man könnte sogar den Benutzer verlassen angemeldet, wenn Sie möchten.

Nachdem die Aktion abgeschlossen ist, oder alle X Tage, löschen Sie die Zeichenfolge aus der Tabelle.

Anliegen:

  1. Bad Menschen versuchen können Ihre Seite mit zufälligen Zeichenfolgen zu treffen. Wenn die Saiten genügend lange genug und zufällig sind, wird dies keine Rolle, aber Sie können den Zugriff auf die Seite drosseln wollen oder mehr als X-Anfragen von einer IP-Adresse in einem bestimmten Zeitraum verhindern.
  2. Aggressive Spam-Prüfer können den Link aus dem Körper der E-Mail folgen. Achten Sie darauf, dass keine Operation einfach durch Zugriff auf die Seite durchgeführt wird; sollte der Benutzer eine POST einen Knopf oder auf andere Weise führen müssen klicken.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top