Domanda

Probabilmente questa domanda è stata posta prima, ma sembra che non riesca a formulare la mia ricerca abbastanza correttamente per trovare la risposta.

Normalmente quando ti registri per accedere a un forum su Internet, ti viene inviata un'e-mail di autorizzazione e puoi fare clic su un collegamento che ti porta a una pagina che esegue l'autorizzazione.

Quello che voglio è inviare una mail a un utente già creato (non connesso però) e lasciargli accettare una proposta facendo clic su un link nella posta. Il link ofcourse punta a una pagina che esegue le operazioni del database e mostra un qualche tipo di risultato.

Quali tecniche e / o percorsi dovrei seguire per implementarlo? E poiché questo è legato alla sicurezza, a cosa dovrei fare attenzione?

Cordiali saluti, Casper

È stato utile?

Soluzione

Quando invii l'e-mail, genera una grande stringa casuale e salvala in una tabella con il loro ID utente e qualche indicazione su cosa farà il collegamento.

Quindi inviare loro l'e-mail con un collegamento a DoSomething.aspx? id = long_string_here .

Scrivi DoSomething.aspx in modo che cerchi la stringa lunga e presenti all'utente una conferma di ciò che faranno e un pulsante per farlo. Non è richiesto l'accesso. Se lo desideri, puoi anche lasciare l'utente connesso.

Al termine dell'azione o ogni X giorni, eliminare la stringa dalla tabella.

Preoccupazioni:

  1. Le persone cattive possono provare a colpire la tua pagina con stringhe casuali. Se le stringhe sono abbastanza lunghe e abbastanza casuali, questo non importa, ma potresti voler limitare l'accesso alla pagina o impedire più di X richieste da un indirizzo IP in un determinato periodo.
  2. I controllori di spam aggressivi possono seguire il link dal corpo dell'e-mail. Assicurarsi che non venga eseguita alcuna operazione semplicemente accedendo alla pagina; l'utente dovrebbe fare clic su un pulsante o altrimenti causare un POST.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top