Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Password dimenticata

  1. #1

    Password dimenticata

    Volevo sapere come realizzare la gestione delle password dimenticate da un utente, premetto cripto le password nella query "PASSWORD('$password')" quindi non posso decodificarla, ho letto in una diuscussione che,dopo che l'utente ha inserito la mail nel form di richiesta, devo creare una password temporanea inserirla in un campo password_temporanea e inviare una mail con un link all'utente , l'utente, entro un tempo prestabilito, deve cliccare sul collegamento presente nella mail che dovrebbe attivare non so cosa,

    ecco vorrei capire bene il funzionamento, in particolare:
    il campo password temporanea lo posso aggiungere alla tabella utenti o devo creare una tabella appositamente?
    poi, dopo che l'utente ha inoltrato la richiesta, io controllato che la email esista e generato una nuova password random, che viene inserita nel suo campo, cosa invio all'utente? il link e la pagina di conferma come devono essere impostate, e per finire come imposto un tempo di scadenza?
    non so proprio come fare
    grazie
    "Frase di elevato spessore culturale che ti lascia a riflettere con stupore misto a invidia per non aver pensato di metterla nella tua firma"

  2. #2
    potresti fare così
    temp_pass
    codice:
    +-----+-----------+--------------------+----------+
    | id  | id utente | codice di conferma | scadenza |
    +-----+-----------+--------------------+----------+
    il resto dei dati (username ed email) sono nella tabella utenti

    quando un utente ha dimenticato la password, digita il suo username in un form

    lo script prende l'email associata all'username, genera un codice e lo invia

    l'utente va su un altro modulo simile a quello di login e da qui digita username e codice di conferma (potresti anche farlo con un link)

    lo script verifica il codice di conferma associato all'username sulla tabella temporanea. Se è corretto e non è scaduto, invia all'indirizzo email la nuova password e modifica l'esistente sulla tabella utenti
    E' la mia opinione ed io la condivido
    Non condivido la tua idea ma darei la vita perché tu la possa esprimere (Voltaire)
    Scrivi sul muro

  3. #3
    ok, provo
    "Frase di elevato spessore culturale che ti lascia a riflettere con stupore misto a invidia per non aver pensato di metterla nella tua firma"

  4. #4
    come imposto la scadenza all giorno successivo ovvero 24 ore dopo la richiesta? e in che formato la inserisco nel db?
    date, datetime....? un'ultima cosa quando la richiesta è scaduta il record della tabella lo cancello "a mano"?
    grazie
    "Frase di elevato spessore culturale che ti lascia a riflettere con stupore misto a invidia per non aver pensato di metterla nella tua firma"

  5. #5
    il formato lo metti in datetime
    per l'inserimento mi sembra che basti
    codice:
    scadenza=DATE_ADD(NOW(), INTERVAL 24 HOUR)
    per verificare la scadenza
    codice:
    ...WHERE scadenza > NOW()
    la cancellazione di quelli utilizzati la puoi fare quando vengono utilizzati tramite id

    gli altri o li cancelli a mano o tramite crontab o quando utilizzi lo script di inserimento/verifica/cancellazione

    codice:
    DELETE FROM tabella WHERE scadenza < NOW()
    E' la mia opinione ed io la condivido
    Non condivido la tua idea ma darei la vita perché tu la possa esprimere (Voltaire)
    Scrivi sul muro

  6. #6
    grazie,
    "Frase di elevato spessore culturale che ti lascia a riflettere con stupore misto a invidia per non aver pensato di metterla nella tua firma"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.