2010-06-19 9 views
9

Sto provando a scrivere un sito Web con account utente. Non ci sono molte informazioni sensibili oltre alla password e all'indirizzo e-mail. Ma non capisco davvero cosa sto facendo; Sono una specie di hackerarlo mentre vado. C'è qualcosa che dovrei tenere presente per quanto riguarda la sicurezza o altri dettagli importanti?Creazione di una pagina Web con account utente, cosa devo tenere a mente?

risposta

1

è necessario utilizzare la funzione MD5 php per le password. Modo semplice per assicurarlo. Assicurati inoltre di utilizzare strip_tags in php in modo che qualcuno non possa eseguire comandi nelle caselle di input. Dal momento che non ci sono dati sensitivi, non penso che sia necessario crittografare nulla. Basta assicurarsi che il sistema di login è perfetto e l'utente non ha altro modo di accedere ai dati senza effettuare il login ..

shud basti per uno script di accesso di base ..

+4

"DEVI usare la funzione PHP MD5" => mentre è consigliabile hash una password, md5() è difficilmente l'unico modo ... – Wrikken

+1

infatti, NON DEVI usare MD5 per l'hashing della password, ma piuttosto qualcosa di più lento e progettato per le password, come BCRYPT o anche SCRYPT. – Ethan

3

Usa JanRain Engage (formerly rpxnow.com) per l'autenticazione. La loro soluzione consente alle persone di utilizzare le loro credenziali esistenti da Google, Yahoo, Microsoft, Facebook e altri per accedere al tuo sito. Molti di questi provider forniranno un OpenID valido e spesso un indirizzo email valido come parte del processo di autenticazione.

Se si utilizza JanRain, è quindi necessario memorizzare solo l'indirizzo di posta elettronica o l'OpenID per un utente e non è necessario memorizzare password o hash delle password. Inoltre, non è necessario implementare alcuna funzionalità di reimpostazione della password o "password dimenticata". Inoltre, la funzionalità di registrazione dell'utente può essere molto più ridotta perché viene avviata con un indirizzo email valido o OpenID fornito dal proprietario.

La comunicazione tra l'applicazione e JanRain è autenticata e crittografata, quindi è tutto bello sicuro &.

+1

Vero ma ricorda anche che OpenID può avere anche degli svantaggi. Vedi http://stackoverflow.com/questions/410085/what-reasons-are-there-not-to-use-openid per un'interessante conversazione a questo proposito. – nico

+1

Quando dico OpenID, intendo la versione di JanRain Engage. Usano OpenID sotto le copertine e l'utente non deve mai vederlo. L'utente vede solo userid e password che conoscono da Goog/Yahoo/MS/FB e altri. E non devi mai digitare ID utente e password in nessuna pagina tranne la pagina di accesso del provider di identità. –

+0

Questo potrebbe effettivamente essere quello che finirò usando. Grazie per avermi mostrato questo. – DavidR

4

Sarfraz Ahmed ha raccolto alcune buone risorse per la lettura. Puoi anche usare una classe PHP per l'autenticazione dell'utente, ce ne sono molti. Io stesso ho creato un progetto chiamato userFlex su sourceForge http://uflex.sourceforge.net

userFlex ha una documentazione decente e fa molto più che accedere agli utenti; esegue la registrazione e le convalide dei campi, le reimpostazioni della password, i codici di conferma per le registrazioni, gestisce le sessioni e altro come l'autologin.

Ancora una volta inserendo userFlex come esempio, è possibile anche esaminare http://www.phpclasses.org/browse/file/5269.html o molte altre buone classi in PHPclasses.org.