Mysql
 sql >> база данни >  >> RDS >> Mysql

mysql_escape_string цял масив от публикации?

Бих използвал array_walk() функция. Той е по-подходящ, защото модифицира POST superglobal, така че всички бъдещи употреби да бъдат дезинфекцирани.

array_walk_recursive( $_POST, 'mysql_real_escape_string' );

Уверете се обаче, че не разчитате на този ред за пълна защита на вашата база данни от атаки. Най-добрата защита е ограничаването на наборите от символи за определени полета. Пр. Имейлите нямат кавички в тях (така че позволяват само букви, цифри, @, тирета и т.н.) и имената нямат скоби в тях (така че позволяват само букви и избрани специални знаци)

РЕДАКТИРАНЕ: Променен array_walk() към array_walk_recursive() благодарение на предложението на @Johan. Реквизит за него.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. LAST_INSERT_ID( ) връща няколко реда от 0?

  2. Не може да се инсталира MySQL Server 8.0.17 с грешка „Действието „Инсталиране“ за продукт „MySQL Server 8.0.17“ е неуспешно“

  3. Методът getColumnName в ResultSetMeta не може да върне правилното име на колона (jdbc)

  4. PHP/Apache:PHP Фатална грешка:Извикване на недефинирана функция mysql_connect()

  5. Не можете да стартирате Insert и Select LAST_INSERT_ID() в една и съща заявка?