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

Кога да дезинфекцираме PHP и MySQL кода, преди да бъде съхранен в базата данни или когато се показва?

Има различни заплахи, за които (вероятно) говорите тук:

  • Трябва да дезинфекцирате данни, които се вмъкват в базата данни, за да се избегнат SQL инжекции .
  • Трябва също така да внимавате с данните, които се показват на потребителя, тъй като може да съдържат злонамерени скриптове (ако са изпратени от други потребители). Вижте записа в Wikipedia за скриптове между сайтове (известен още като XSS)

Това, което е вредно за вашата база данни, не е непременно вредно за потребителите (и обратното). Трябва да се погрижите съответно и за двете заплахи.

Във вашия пример:

  • Използвайте mysqli::real_escape_string () върху данните, които се вмъкват във вашата база данни (дезинфекция)

Вероятно искате да използвате пречиствателя преди вмъкването на данни - просто се уверете, че той е "пречистен", докато потребителят го получи.

Може да се наложи да използвате ленти () върху данни, извлечени от db, за да ги покажете правилно на потребителя, ако magic_quotes са на



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Грешен изход на MySQL с IN клауза и параметър

  2. Функцията hour() на Hive връща 12-часова стойност на часовника

  3. Как да извлечем уникални редове въз основа на комбинации от стойности на колони?

  4. $_SESSION безопасен ли е от sql инжектиране?

  5. Вмъквайте редове само когато съществува идентификатор от друга таблица