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

Използване на php filter_var с mysql_real_escape_string

Санитиране низ служи, за да отговаря на определени очаквания. FILTER_SANITIZE_EMAIL премахва всички знаци от низ, които биха били невалидни в имейл. Резултатът (уж) гарантирано отговаря на синтаксиса на имейл адреса. Доколко полезно е произволното премахване на знаци от низ ще оставя на вас. (Съвет:Не мисля, че е много полезно изобщо; по-добре трябва да отхвърлите невалидни адреси, отколкото да ги трансформирате в произволни резултати. Давам ви невалиден имейл адрес, вие го забивате в някаква форма, която прилича на имейл адрес, сега как знаеш ли, че ще можеш да ми изпратиш имейл...?!)

mysql_real_escape_string има ли, за да се гарантира, че произволен низ няма да нарушава синтаксиса на SQL низови литерал, като избягва всички символи, достойни за екраниране. Ако приемем, че го използвате правилно (много клопки, които mysql има, поради което е остарял...), не можете да направите нищо с неговия вход, което да го накара да се провали. Давате му произволен низ, той ви връща екранираната версия, точка.

Като такъв, като цяло, да, това, което правите, е добре. Ако mysql_real_escape_string е последният нещо, което правите със своя низ, преди да го интерполирате в SQL низов литерал, тогава всичко е наред.



  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

  2. python - Проблем със съхраняването на Unicode символ в MySQL с Django

  3. Защита от инжектиране на SQL само със str_replace

  4. Има ли оптимален метод за поръчка на композитен индекс на MySQL?

  5. Трябва ли таблиците за свързване да имат повече от един първичен ключ от друга идентифицираща таблица?