1) REGISTRAZIONE:
- regex che validano i dati in ingresso;
- eventualmente con supporto jquery e controllli asincroni con ajax;
- eventualmente un captcha;
- evitare duplicati utenti con lo stesso username;
- evitare duplicati utenti con la stessa email;
- obbligare l'utente a scegliere una password non troppo semplice (numero minimo di caratteri, maiuscole/minuscole, alfanumerica/con simboli, etc etc);
- salvare assolutamente le password criptandole (sha1, ma ce ne sono anche altri) e con salt;
- validare le registrazione tramite conferma tramite mail (con tutte le problematiche relative alla modalità di conferma e alla cancellazione dei registrati non "confermati");
2) LOGIN:
- corretta gestione dei cokies che non dovranno assolutamete contenere dati sensibili;
- cokies con scedenza vincolata (non quella che si imposta con set cokies)
- corretta gestione delle sessioni (alcuni suggeriscono di salvare sul db... ma io nn lo preferisco);
- magari stabilire il path in cui saranno salvati i file di sessione (in caso frequente di server condiviso);
- rigenerare il SID (in modo da immunizzare furti di ID di sessione);
- prevedere il TOKEN per conferma di operazione via GET (ma anche via post...) per proteggersi da XSS;
- le generiche protezioni per evitare sql injection;
- salvare i "tentativi falliti" per evitare attacchi brute force oppure prevedere uno sleep() del login per cautelarsi da attacchi brute force;
Ti va bene questa risposta??
Fai domande più dettagliate altrimenti nn si sà da dove partire... come puoi notare...

Rispondi quotando