Mysql
 sql >> Database >  >> RDS >> Mysql

Si tratta di una funzione di sanificazione degli input sicura/forte?

Direi che è troppo generico. può essere sicuro per molti usi, ma spesso darebbe effetti collaterali indesiderati alle corde. Non tutte le stringhe devono essere sottoposte a escape in questo modo.

  • mysql_real_escape_string() deve essere utilizzato solo all'interno di query SQL. Meglio ancora, lega i parametri con PDO.
  • Perché vorresti eliminare i tag e codificare le entità prima di inserirle in un database? Forse fallo mentre esci.
  • Per la prevenzione XSS, htmlspecialchars() è più tuo amico. Assegnagli il set di caratteri come argomento.

Quindi userei mysql_real_escape_string() per le query e htmlspecialchars() per l'eco delle stringhe inviate dall'utente. C'è anche molto altro da sapere. Fai qualche ulteriori letture .