- Home
- Categorie
- Coding e Sistemistica
- PHP
- Login da email ricevute
-
Login da email ricevute
Ciao a tutti,
sto facendo uno script che invia una email agli utenti con un link e quando gli utenti cliccano sul link di questa email sono reindirizzati a una certa pagina del sito loggati senza fare il login.
Volevo sapere quali sono i metodi che vengono considerati più sicuri in questi casi?
il metodo che ho utilizzato io è linkare dall'email verso uno script php che controlla:- la pagina dove reindirizzare l'utente
- l'id dell'utente da loggare
- un codice univoco per ogni utente che equivale a un md5 di un valore(diverso da nick e pass) che si trova all'interno del db diverso da ogni utente
così che in questo modo se qualcuno vuole provare a fregare questo script è costretto a conoscere il valore assegnato all'utente presente nel db, su cui fare l'md5.
Secondo voi questo può essere sufficente?
Se ci fosse un modo per capire che un collegamento proviene da un click effettuato da una email sarebbe meglio ovviamente ma non penso sia possibile.
Il problema è che se un utente si collega non dal suo pc e qualcuno che usa lo stesso pc dopo di lui potrebbe risalire al collegamento per loggarsi?Grazie a chi avrà il tempo e la voglia di rispondermi.
-
Ciao
beh, usando lo stesso pc dopo di lui c'è il rischio di "fregargli" il login. Potresti però passargli un'ulteriore variabile, ipotizziamo $daEmail .
Di default tu assegni a questa variabile valore "0" .
Quando clicchi dall'email il valore della variabile passa ad "1" .
Ora, prima di farlo passare ad uno, fai un controllo per verificare l'attuale valore della variabile $daEmail . Se è zero, allora lo script continua, aggiorna la variabile ad uno e fa il login. Se è già uno, significa che il link in email è già stato cliccato e, quindi, rimanda ad una pagina di errore
Spero di essere stato chiaro, se hai domande o dubbi fammi sapere
-
@sitionweb said:
Ciao
beh, usando lo stesso pc dopo di lui c'è il rischio di "fregargli" il login. Potresti però passargli un'ulteriore variabile, ipotizziamo $daEmail .
Di default tu assegni a questa variabile valore "0" .
Quando clicchi dall'email il valore della variabile passa ad "1" .
Ora, prima di farlo passare ad uno, fai un controllo per verificare l'attuale valore della variabile $daEmail . Se è zero, allora lo script continua, aggiorna la variabile ad uno e fa il login. Se è già uno, significa che il link in email è già stato cliccato e, quindi, rimanda ad una pagina di errore
Spero di essere stato chiaro, se hai domande o dubbi fammi sapere
Intanto grazie per avermi risposto in fretta,
ho capito il concetto mi sembra tutto abbastanza chiaro. Però il problema è su come realizzarlo. Nel senso il problema è come faccio a riconoscere se un valore viene da un click dalla email o se proviene semplicemente dal request, ho provato a creare nella email un pulsante submit con un form cosi riesco a inviare dei valori hidden, però con il form le email vanno sulla posta indesiderata. Magari se puoi darmi qualche consiglio pratico su come realizzarlo tecnicamente, grazie!!