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

Как правилно да дезинфекцирам данните, получени от текстова област, когато ги извеждам обратно в текстовата област?

Не трябва да използвате htmlentities когато го записвате. Трябва да използвате htmlentities при показването му. Основното правило е да не кодирате/дезинфекцирате данните, докато не се наложи. Ако правите htmlentities върху него, когато запазите, тогава трябва да направите html_entity_decode върху текста, когато потребителят иска да редактира въведеното. Така дезинфекцирате за това, от което имате нужда и нищо повече. Когато го запазвате, трябва да дезинфекцирате за SQL инжекция, така че mysql_real_escape_string то. Когато показвате, трябва да дезинфекцирате за XSS, така че htmlentities го.

Също така, не съм сигурен дали сте видели коментара на Дарил Хайн, но наистина не искате да активирате magic_quotes. Те са лошо, лошо нещо и са оттеглени от PHP 5.3 и ще изчезнат напълно в PHP 6.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Защо Rails игнорира Rollback в (псевдо)вложена транзакция?

  2. Инструкция за вмъкване, която проверява за дублиране преди вмъкване

  3. MySQL запис, който ще подлежи на TTL

  4. не е разрешено да върне набор от резултати от тригер mysql

  5. Пълнотекстови търсения в MySQL:доброто, лошото и грозното