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

Utilizzo di php filter_var con mysql_real_escape_string

Sanificazione una stringa serve a renderlo conforme a determinate aspettative. FILTER_SANITIZE_EMAIL rimuove tutti i caratteri da una stringa che non sarebbero validi in un'e-mail. Il risultato è (presumibilmente) garantito per essere conforme alla sintassi dell'indirizzo e-mail. Quanto è utile rimuovere casualmente i caratteri da una stringa, lascio a te. (Suggerimento:non penso che sia molto utile; dovresti piuttosto rifiutare indirizzi non validi piuttosto che trasformarli in risultati casuali. Ti do un indirizzo email non valido, lo martella in una forma che assomigli a un indirizzo email, ora come sai che potrai mandarmi una mail...?!)

mysql_real_escape_string è lì per garantire che una stringa arbitraria non violi la sintassi letterale della stringa di SQL eseguendo l'escape di tutti i caratteri meritevoli di escape. Supponendo che tu lo stia usando correttamente (molte insidie ​​​​ha mysql, motivo per cui è deprecato ...), non c'è nulla che tu possa fare al suo input che lo farebbe fallire. Gli dai una qualsiasi stringa arbitraria, ti restituisce la versione con escape, punto.

In quanto tale, in generale, sì, quello che stai facendo va bene. Se mysql_real_escape_string è l'ultimo cosa fai alla tua stringa prima di interpolarla in una stringa SQL letterale, allora va bene.