La differenza è che maxlenght è un controllo che fai con HTML, quindi posso tranquillamente aprire la modalità programmatore (ispeziona elemento in chrome) e togliere maxlenght dal form. In questo modo posso mettere una password di 200 caratteri e inviarla al PHP senza che tu te ne accorga. Il PHP invece non posso modificarlo perchè è lato server, quindi non posso "fregarti".
Intanto la lista nera delle email dipende da client a client: gmail potrebbe bannarlo mentre yahoo no e hotmail potrebbe bannarti una mail si e una no. L'unica cosa da fare è controllare che l'email venga inviata in italiano o inglese, senza caratteri strani, senza troppi link (ci sono algoritmi che verificano tot parole per ogni link). Potrebbe essere stato bannato il server in quanto è condiviso con altri siti, i quali potrebbero aver spammato... Se è così l'unica cosa è chiamare aruba e provare ad esporre il problema.
Fallo con PHP che mi sembra decisamente più comodo, così eviti di intrecciare i due linguaggi inutilmente
Ti posso dare una seconda soluzione:
quando verifichi il codice verifichi anche la data, così se un utente ha attivato il codice dopo troppi giorni allora non viene attivato, anzi fai una query che elimini la persona.
Poi metti nella pagina di admin lo script di pulizia per quelli che non hanno nemmeno attivato l'account dopo troppo tempo, così sarai sicura che gli utenti non potranno attivare l'account superata la soglia e anche se fai andare lo script di pulizia (che toglie gli utenti non confermati) una volta a settimana non succede nulla di male.
Ah, capisco, come al solito il problema è sempre troppo poco. Visto che sei agli inizi allora ti consigli di prendere due accorgimenti:
1) assicurati che le password siano criptate con hsa1 o altri metodi di crypt
2) assicurati di essere immune almeno alle SQL injection (http://www.html.it/articoli/protegge...l-injection-1/
Inoltre ti dico che per essere un bravo programmatore devi saper prevedere tutto quello che gli utenti faranno:
quello della maxlenght che ti ho detto è una cavolata, in quanto alla fine al 99% nessuno andrà a modificare il codice, ma è comunque una falla nel sistema. Se io accedo e voglio mettere la mia password lunga 30 caratteri posso tranquillamente farlo...