Dal punto di vista di sql-injection, non dovresti aver problemi utilizzando mysql_real_escape_string.
Tuttavia, potresti abbandonare mysql_* (che verrà abbandonato) in favore di PDO o mysqli
Una miglioria che puoi (dovresti) apportare è cifrare la password sul database.
Quando un utente si registra, invece che salvare in chiaro la password, ci applichi una funzione di hash (oppure una crittografica).
Esempio con hash+salt:
Codice PHP:
$salt = "una stringa di caratteri e numeri a caso e lunga a caso che salverai in qualche file di configurazione";
/*********/
$passwd = $_POST['password'];
// verifiche varie sui dati inseriti
$passwd = sha1($salt.$passwd);
//adesso salverai $passwd nel db
Quando farai il login:
Codice PHP:
$psw = sha1($salt.mysql_real_escape_string($psw));