INF.03 · pytanie 560
Technik informatykTechnik programista
Którą funkcję PHP należy zastosować, aby zabezpieczyć dane wpisane przez użytkownika przed atakiem SQL Injection przy użyciu biblioteki MySQLi?
- Astrip_tags() z dozwolonymi tagami
- Bhtmlspecialchars()
- Cmysqli_real_escape_string()Poprawna
- Dmd5() z solą kryptograficzną
Wyjaśnienie
mysqli_real_escape_string() poprzedza znakiem ucieczki znaki specjalne ciagu wejsciowego (apostrof, cudzyslow, backslash, znak NUL), dzieki czemu dane nie zmieniaja struktury zapytania SQL; znaki nie sa usuwane, lecz zapisywane w bazie bez zmian. Zalecane jest tez uzycie zapytan preparowanych (prepared statements).