sql >> Database teknologi >  >> RDS >> Mysql

Brug af php filter_var med mysql_real_escape_string

Desinficering en streng tjener til at få den til at leve op til visse forventninger. FILTER_SANITIZE_EMAIL fjerner alle tegn fra en streng, som ville være ugyldige i en e-mail. Resultatet er (angiveligt) garanteret at være i overensstemmelse med e-mailadressesyntaks. Hvor nyttigt det er at tilfældigt fjerne tegn fra en streng, vil jeg lade være op til dig. (Tip:Jeg tror slet ikke, det er særlig nyttigt; du bør hellere afvise ugyldige adresser end at omdanne dem til tilfældige resultater. Jeg giver dig en ugyldig e-mailadresse, du hamrer den i en form, der ligner en e-mailadresse, hvordan ved du, at du vil være i stand til at sende mig en e-mail...?!)

mysql_real_escape_string er der for at sikre, at en vilkårlig streng ikke krænker SQL's string literal syntaks ved at escape alle escape-værdige tegn. Forudsat at du bruger det korrekt (mange faldgruber mysql har, hvorfor det er forældet...), er der intet, du kan gøre ved dets input, der ville få det til at mislykkes. Hvis du giver den en hvilken som helst vilkårlig streng, returnerer den den undslupne version, punktum.

Som sådan, generelt, ja, det du laver er fint. Hvis mysql_real_escape_string er den sidste ting du gør ved din streng, før du interpolerer den til en SQL-streng, så er det fint.



  1. Forstå hvad sp_updatestats virkelig opdaterer

  2. CakePHP-ordren virker ikke

  3. Hovedanvendelse af sys.dm_os_wait_stats

  4. Dybdegående udforskning af Row Level Security