Validating con un link (in una newsletter)


#1

avete presente quando ci si iscrive ad una newsletter che arriva una
mail di conferma e cliccando su un link di attivazione, si viene
effettivamente iscritti??

come faccio lo stesso in rails? intendo… come gestisco il click del
link nella mail?

per il database degli utenti ed il resto, sono aposto, ma non ho idea di
come creare e gestire questi link di attivazione, che sarebbero comodi!

ciao :slight_smile:


#2

Ciao,
dunque, il meccanismo è estremamente semplice:

1- quando crei un nuovo utente generi un codice di attivazione e lo
inserisce nel database associandolo all’utente, generalmente si usa una
qualche funzione di hashing (md5, sha) computata sul nome utente, e un
numero casuale; inoltre associ all’utente un flag “attivo” inizialmente
falso

2- invii una mail all’utente con un link in cui compare il codice di
attivazione creato precedentemente

3- quando l’utente clicca sul link, l’action cerca il codice di
attivazione nel database e rende attivo l’utente

Se non hai voglia di implementare tutte queste cose ti consiglio di
usare l’ottimo plugin acts_as_authenticated che fa questo ed altro! :slight_smile:

http://wiki.rubyonrails.com/rails/pages/Acts_as_authenticated

-federico

http://www.pixzone.com/


#3

Io per fare questo ho utilizzato il plugin
acts_as_authenticatedhttp://wiki.rubyonrails.com/rails/pages/Acts_as_authenticatede
mi sono trovato molto bene.
Ha pronti dei template email per l’attivazione con quello che chiedi tu.
Se provi a scaricartelo e installarlo puoi “rubacchiare” il codice che
lo
fa, ovvero puoi vedere come genera i codici di attivazione e come
l’action
di attivazione fa a riconoscere l’utente dal codice.

Mi pare comunque che di base il ragionamento sia proprio quello che ha
esposto chiaro scuro nella mail precedente.

On 5/2/06, chiaro scuro removed_email_address@domain.invalid wrote:

esiste

Ml mailing list
Liquid Development: http://liquiddevelopment.blogspot.com/


Ml mailing list
removed_email_address@domain.invalid
http://lists.ruby-it.org/mailman/listinfo/ml


Paolo Donà
email me: paolo[dot]dona[at]gmail[dot]com
skype me: paolo[dot]dona


#4

Confermo quanto detto da Paolo…
Il Plug-in che ti ha segnalato ti permette di risolvere in modo moplto
pulito il tuo problema. Certo dovresti cambiare il tuo sistema di login
ed
utilizzare quello consigliato sul sito di Rails :slight_smile:

–Andrea R.


#5

On 5/2/06, Daniela T. removed_email_address@domain.invalid wrote:

avete presente quando ci si iscrive ad una newsletter che arriva una
mail di conferma e cliccando su un link di attivazione, si viene
effettivamente iscritti??

come faccio lo stesso in rails? intendo… come gestisco il click del
link nella mail?

Potresti creare un azione “attiva” che riceve come parametro lo sha1
dell’id dell’utente da attivare. In questo modo non è un url
facilmente riproducibile,
e basta che trovi l’utente il quale sha1(id) è uguale alla stringa che
ti arriva.


#6

non conosco rails ma mi immagino che avrai un oggetto che genera degli
user-ID alfanumerici e nel momento in cui mandi la mail, mandi anche il
link
inclusivo dell’ID alla fine.

contestualmente salvi anche l’ID su un DB, legato ad un account utente
da
attivare.

quando una certa url viede attivata controlli se l’ID corrispondente
esiste
nel DB e attivi se presente.

On 5/2/06, Daniela T. removed_email_address@domain.invalid wrote:


Chiaroscuro

Liquid Development: http://liquiddevelopment.blogspot.com/