Se esiste un modo per aggirare le funzioni integrate di PHP per proteggersi dall'iniezione SQL o dovrei fare affidamento su alcuni altri filtri piuttosto che dipendere da funzioni integrate?
Se esiste un modo per aggirare le funzioni integrate di PHP per proteggersi dall'iniezione SQL o dovrei fare affidamento su alcuni altri filtri piuttosto che dipendere da funzioni integrate?
should I rely on some other filters to protect against the sql injection
No. Tutti gli altri filtri che potresti scrivere non saranno validi quanto la protezione integrata (istruzioni preparate, con mysqli
o PDO
), quindi non dovresti fare affidamento su di esso.
Se vuoi un ulteriore livello di sicurezza nel caso (non è una cattiva idea, non puoi mai essere troppo risparmiato), userei un sistema di rilevamento delle intrusioni (come mod_security
per Apache) invece di scrivere funzioni di filtro aggiuntive in Codice PHP me stesso.
Is there a way to bypass the inbuilt php functions for sqlinjection
Se usato correttamente, le istruzioni preparate o mysqli_real_escape_string
attualmente non hanno vulnerabilità note.
Esistono comunque problemi con determinati set di caratteri multibyte (questo potrebbe anche essere un problema in PDO, vedi qui ), e ovviamente il singolo dimenticato virgolette: in query complesse sono facili da ignorare, il che è uno dei motivi per cui le istruzioni preparate sono consigliate per l'escape.
Leggi altre domande sui tag php sql-injection