Egzamin zawodowyPortal części pisemnej

INF.03 · pytanie 560

Którą funkcję PHP należy zastosować, aby zabezpieczyć dane wpisane przez użytkownika przed atakiem SQL Injection przy użyciu biblioteki MySQLi?

  1. Astrip_tags() z dozwolonymi tagami
  2. Bhtmlspecialchars()
  3. Cmysqli_real_escape_string()Poprawna
  4. 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).