2011-11-12 12 views
13

Sto costruendo un nuovo sito Web dove un utente può accedere. Vedo tre possibili opzioni: tipoMiglior implementazione di login in PHP/MySQL/Apache

1. classico login:

<form action="/login.php" method="POST"> 

</form> 

e il pulsante di invio va a login.php e convalida e reindirizza se il successo

2. Tipo ajax login:

Come sopra ma effettuare una chiamata ajax e quindi i reindirizzamenti javascript.

3. login iframe:

stessa idea StackOverflow/OpenID

Qual è il modo più sicuro e migliore per fare questo?

risposta

23

bene, a mio parere le opzioni 1 & 2 dovrebbero utilizzare post e nel codice si dovrebbe assicurarsi che la richiesta sia posta. dovresti aggiungere anche altre logiche di sessione contro lo spoofing se vuoi che l'applicazione sia super sicura, ma è preferibile allo sviluppatore e all'applicazione. Io trovo gli iframe come malvagi e molti hacker usano iframe per incidere sugli account degli utenti inconsapevoli. openid è un modo affidabile per accedere e sta diventando più ampiamente adottato, così come la versione Facebook di openid. so che usano il metodo iframe, ma la verifica è raddoppiata e credo che https sia necessario per implementare questo tipo di accessi.

ancora una volta tutto questo è solo la mia opinione e dipende in gran parte dal design e dalle esigenze/requisiti aziendali dello sviluppatore dell'applicazione.

spero che questo aiuti :)

+0

cosa intendi con lo spoofing? –

+1

Non sono sicuro che tu stia utilizzando un framework o un codice personalizzato, ma la maggior parte dei framework ora è integrata, ma fondamentalmente questa, che è stata pubblicata prima come un altro tipo di argomento correlato: Prevenire la fissazione della sessione Rigenera un nuovo session_id ogni X numero di richieste al fine di ridurre il tempo necessario a un utente malintenzionato per rubare l'ID. Identificare in modo univoco il client Utilizzare l'IP e/o l'agente utente per identificare in modo univoco il client e controllare il valore su ogni pagina caricata rispetto a quelli memorizzati nella sessione. Queste sono davvero le uniche due opzioni che devi identificare in modo univoco il client. –

+0

ecco un buon articolo da leggere sullo spoofing: [link] (http://www.nyphp.org/PHundamentals/6_Spoofed-Form-Submissions) –