Mysql
 sql >> Baza danych >  >> RDS >> Mysql

mysql_escape_string cała tablica postów?

Użyłbym array_walk() funkcjonować. Jest lepiej dopasowany, ponieważ modyfikuje superglobal POST, dzięki czemu wszelkie przyszłe zastosowania są zdezynfekowane.

array_walk_recursive( $_POST, 'mysql_real_escape_string' );

Upewnij się jednak, że nie polegasz na tej linii, aby całkowicie chronić swoją bazę danych przed atakami. Najlepszą ochroną jest ograniczanie zestawów znaków dla niektórych pól. Były. E-maile nie zawierają cudzysłowów (więc dozwolone są tylko litery, cyfry, @, myślniki itp.), a nazwy nie zawierają nawiasów (więc dozwolone są tylko litery i wybrane znaki specjalne)

EDYTUJ: Zmieniono array_walk() do array_walk_recursive() dzięki sugestii @Johana. Rekwizyty do niego.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. przywróć kopię zapasową mysql

  2. Aktualizacja kolumny na podstawie istniejących pól

  3. Czy procedura składowana/funkcja może zwrócić tabelę?

  4. wybieranie danych z tabeli na podstawie daty

  5. Jak GRANT SELECT ON nazwa tabeli do PUBLIC w MySQL?