Dopo una ricerca ancora non ho una risposta definitiva ad alcuni miei dubbi riguardanti il giusto procedimento per interagire con le entità su database.
1) Nel senso, se io uso trim(htmlentities($_REQUEST[$variabile])) per una variabile $variabile che mi arriva ad esempio da un form, è sufficiente?
E soprattutto, risulta sicura per la protezione del database?
2) Nel richiamare i dati dal database, nel caso in cui debba ricevere come ritorno dei dati che includono tag HTML (in sostanza per fare il processo inverso rispetto al precedente), e quindi per decodificare i dati è sufficiente html_entity_decode()?
3) Se ad esempio utilizzo addslashes() al posto di htmlentities() ho dei vantaggi solo lato database, perchè questo mette in sicurezza apici e doppie virgole quindi non mi dà vantaggi sotto il punto di vista di codifica/decodifica, giusto?
Allora perchè e in quali casi possono servire le funzioni addslashes() e mysqli_real_escape_string() se io utilizzo sempre htmlentities()?
Su una guida qui su HTML.it viene addirittura utilizzata filter_var($_POST[$variabile], FILTER_SANITIZE_STRING) che vantaggi può dare rispetto alle altre?
4) E poi ancora, da manuale PHP, htmlspecialchars() non include tutti i tag HTML, quindi non ritengo possa essere proprio utile, e dunque, quando può servire?
In quali casi viene utilizzata?