trim() serve per rimuovere gli spazi all'inizio e alla fine di una stringa, quindi può essere utile in caso di username o password.
Per quanto riguarda la funzione mysqli_real_escape_string(), forse non hai capito cosa fa di preciso, questa esegue l'escape degli apici quindi se hai una query tipo:
Codice PHP:
$sql="INSERT INTO nome_tabella values('$variabile')
supponendo che $variabile assuma come valore: ciao questo è il valore '
quando viene passato il valore alla variabile, la stringa sql diventa:
"INSERT INTO nome_tabella values('ciao questo è il valore'')"
quindi la stringa viene chiusa male e di conseguenza c'è la possibilità che venga fuori un errore e quindi il tuo sistema può essere soggetto ad attacchi di tipo sql injection.
Invece utilizzando la funzione mysqli_real_escape_string() e cioè
Codice PHP:
$variabile = mysqli_real_escape_string($variabile);
il valore che assumerà la variabile sarà: ciao questo è il valore \' quindi è stato inserito il carattere \ prima dell'apice e questo permette il corretto funzionamento perchè la string anon verrà chiusa in modo inatteso.
Quindi ciò significa che quando riprendi il valore dal db, non c'è bisogno di chiamare funzioni sul valore, come ad esempio avviene per htmlentities().
addslashes() lo puoi utilizzare per eseguire l'escape degli apici su valori che non andranno a finire in un db.
filter_var() non conosco molto bene perchè non ne ho avuto mai la necessità, ma in teoria serve per applicare dei filtri ad una variabile sempre a livello di validazione e quindi serve per testare il tipo di dato.