Sto sviluppando una pagina web in cui le persone possono scrivere e commentare cose (non sono richieste informazioni personali) e devo inserire un modulo di accesso in modo che gli utenti possano vedere tutte le loro azioni sulla mia pagina web. La mia idea è di programmare un log in forma senza SSL e consentire anche alle persone di accedere con Facebook se preferiscono. La pagina verrà caricata completamente solo se JavaScript è abilitato.
-
Il mio primo problema è fare in modo che nessuno possa rubare le credenziali dell'utente agendo come un uomo nel mezzo. Ho pensato di risolverlo con un primo hash sul lato client con JavaScript e poi sul lato server, se ricevo valori hash (nel caso qualcuno cancelli alcuni JavaScript), un secondo hashing e memorizzi i valori hash nel database degli utenti. È un modo sicuro per implementarlo? Inoltre, ci sono possibilità che alcuni dati vengano persi? In tal caso, come posso sapere se i dati ricevuti non sono stati compromessi?
-
Proteggi dagli attacchi di dizionario e forza bruta. Lo risolveremo contando il numero di tentativi di accesso non riusciti associati a quell'account utente e se è superiore a 8-10 nella riga, mostra un CAPTCHA in ciascuno dei successivi accessi e implementa anche un intervallo di tempo tra successivi tentativi di accesso . Penso che in questo modo le modifiche IP non saranno un problema perché sto contando il numero di accessi non riusciti sul lato server (imposterò una variabile utente in PHP).
-
Il modulo di accesso. L'ho implementato in questo modo (senza hashing per ora):
<input id="username" name="userName" placeholder="Username" type="text"> <input id="password" name="pass" placeholder="Password" type="password">
Ma quando il modulo viene inviato sull'URL posso leggere la password come: /LogIn.php?userName=user&pass=pass Come posso nascondere la password?
Quali potrebbero essere altri buoni consigli, per ottenere la massima sicurezza possibile senza usare SSL?