Qual è il modo giusto per sfuggire ai dati di input e output dell'utente contro l'iniezione xss e sql [duplicato]

-4

Qual è il modo giusto per sfuggire ai dati di input e output degli utenti rispetto a xss e sql injection? Questo è quello che volevo usare, non so se è sicuro.

Questo sotto come input

function check_input($data) {
     $data = trim($data);
     $data = strip_tags($data);
     $data = stripslashes($data);
     $data = htmlspecialchars($data);
     $data = filter_var($data, FILTER_SANITIZE_STRING);
     return $data;
}

Quindi utilizza questo sotto come output

echo htmlspecialchars($data, ENT_QUOTES, 'UTF-8');

o

echo htmlentities($data, ENT_COMPAT, 'UTF-8', false);
    
posta General Omosco 21.01.2017 - 12:02
fonte

1 risposta

1

Questo è l'approccio sbagliato. Non dovresti progettare una funzione che risolva tutti i problemi di sicurezza e poi applicala ciecamente in tutte le situazioni, indipendentemente dal contesto.

La protezione dall'XSS dipende dal contesto in cui si sta eseguendo l'output, quindi sono necessarie diverse funzioni a seconda del contesto. Consulta il foglio cheat OWASP XSS . Questa è una lettura piuttosto lunga, perché l'XSS è un problema piuttosto complicato. Se vuoi evitare la complessità di gestirlo, usa un framework che ti aiuti a prenderti cura di esso.

L'utilizzo di servizi igienici per prendersi cura di SQLi è una cattiva idea. Invece, utilizza istruzione preparata . Aiuterà anche con le prestazioni, quindi è una soluzione vincente.

    
risposta data 22.01.2017 - 19:49
fonte

Leggi altre domande sui tag