# Validating con un link (in una newsletter)

**URL:** <https://www.ruby-forum.com/t/validating-con-un-link-in-una-newsletter/59268>\
**Category:** IT\
**Created:** [May 2, 2006, 11:11pm UTC](https://www.ruby-forum.com/t/validating-con-un-link-in-una-newsletter/59268 "2006-05-02T23:11:43Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![health](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/e8c25b/32.png) [@health](https://www.ruby-forum.com/u/health)\
**Post date:** [May 2, 2006, 11:11pm UTC](https://www.ruby-forum.com/t/validating-con-un-link-in-una-newsletter/59268/1 "2006-05-02T23:11:43Z")

</div>

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 🙂

---

<div class="post-metadata">

**Author:** ![health](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/e8c25b/32.png) [@health](https://www.ruby-forum.com/u/health)\
**Post date:** [May 3, 2006, 3:58pm UTC](https://www.ruby-forum.com/t/validating-con-un-link-in-una-newsletter/59268/2 "2006-05-03T15:58:27Z")

</div>

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! 🙂

[http://wiki.rubyonrails.com/rails/pages/Acts\_as\_authenticated](http://wiki.rubyonrails.com/rails/pages/Acts_as_authenticated)

-federico

[http://www.pixzone.com/](http://www.pixzone.com/)

---

<div class="post-metadata">

**Author:** ![health](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/e8c25b/32.png) [@health](https://www.ruby-forum.com/u/health)\
**Post date:** [May 3, 2006, 7:05pm UTC](https://www.ruby-forum.com/t/validating-con-un-link-in-una-newsletter/59268/3 "2006-05-03T19:05:21Z")

</div>

Io per fare questo ho utilizzato il plugin  
acts\_as\_authenticated[http://wiki.rubyonrails.com/rails/pages/Acts\_as\_authenticated](http://wiki.rubyonrails.com/rails/pages/Acts_as_authenticated)e  
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](mailto:removed_email_address@domain.invalid) wrote:

> esiste
> 
> > Ml mailing list  
> > Liquid Development: [http://liquiddevelopment.blogspot.com/](http://liquiddevelopment.blogspot.com/)
> 
> * * *
> 
> Ml mailing list  
> removed\_email\_address@domain.invalid  
> [http://lists.ruby-it.org/mailman/listinfo/ml](http://lists.ruby-it.org/mailman/listinfo/ml)

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

---

<div class="post-metadata">

**Author:** ![health](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/e8c25b/32.png) [@health](https://www.ruby-forum.com/u/health)\
**Post date:** [May 3, 2006, 7:07pm UTC](https://www.ruby-forum.com/t/validating-con-un-link-in-una-newsletter/59268/4 "2006-05-03T19:07:08Z")

</div>

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 🙂

–Andrea R.

---

<div class="post-metadata">

**Author:** ![health](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/e8c25b/32.png) [@health](https://www.ruby-forum.com/u/health)\
**Post date:** [May 3, 2006, 7:07pm UTC](https://www.ruby-forum.com/t/validating-con-un-link-in-una-newsletter/59268/5 "2006-05-03T19:07:09Z")

</div>

On 5/2/06, Daniela T. [removed\_email\_address@domain.invalid](mailto: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.

---

<div class="post-metadata">

**Author:** ![health](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/e8c25b/32.png) [@health](https://www.ruby-forum.com/u/health)\
**Post date:** [May 3, 2006, 7:02pm UTC](https://www.ruby-forum.com/t/validating-con-un-link-in-una-newsletter/59268/6 "2006-05-03T19:02:48Z")

</div>

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](mailto:removed_email_address@domain.invalid) wrote:

> 

## – Chiaroscuro

Liquid Development: [http://liquiddevelopment.blogspot.com/](http://liquiddevelopment.blogspot.com/)
