Uso regolarmente un modulo standard per inviare le informazioni di accesso tramite il metodo POST HTTP e quindi convalidarlo utilizzando php per verificare se i dettagli sono corretti. Uso un hash MD5 sulle password (e talvolta sui nomi utente) per dare un certo grado di sicurezza, quindi non sto memorizzando una password non elaborata nel mio codice nel caso in cui venga visualizzata da una persona non autorizzata, o qualcosa del genere.Utilizzo di POST HTTP per i moduli di login
Sono quasi sicuro di aver appena fatto in modo che qualcuno con una vaga comprensione della sicurezza emetta un gemito o almeno un sospiro esasperato.
Recentemente ho lavorato su un forum che ha un database MySQL di utenti e password, le password sono memorizzate come hash MD5, ma temo che quando si invia il modulo di login tramite HTTP POST la possibilità che le informazioni vengano intercettate è lì. Sono a conoscenza delle possibilità degli attacchi a iniezione di MySQL e penso di essere al sicuro da eventuali attacchi semplici.
Non sono un esperto di sicurezza quando si tratta di questo genere di cose, ma vorrei limitare le possibilità di intercettare le password quando vengono inviate tramite HTTP.
Non è un grande sito, quindi non sono eccessivamente preoccupati per gli attacchi e HTTPS non è davvero una possibilità, quindi sto cercando consigli su pratiche standard dovrei segue quando si utilizza questo metodo di invio di informazioni di accesso.
Acclamazioni
qual è il migliore hasher (se è solo un termine) per farlo usando php? e qual è il modo migliore per cancellare un input prima di inviarlo? Suppongo, anche se potrebbe essere sbagliato, che vorrei usare javascript per prendere gli input degli utenti e cancellarli prima di inviare il modulo, ma se javascript è disattivato questo non funzionerebbe. – andyface
Di solito mi atteno agli algoritmi standard, sia per la sicurezza che per la compatibilità. PHP ha una funzione sha1() che va bene per la maggior parte degli usi. Ovviamente hai bisogno di un codice client per farlo, sia esso javascript, un'applet, un plug-in del browser, ecc. Andrei per JS. È sempre possibile fornire un modulo di accesso meno sicuro e senza script. – Patonza
https non viene memorizzato nella cache, vero? Non credo che ne abbiate bisogno per qualche piccolo forum ... –