
Originariamente inviata da
badaze
Si. si tratta delle regular expression.
Sono sicuro che conosci il codice e che sai a cosa corrisponde. Ma bisogna sempre pensare che ogni dato che viene passato ad una pagina ($_POST, $_GET, cookie, etc...) è una minaccia potenziale. In primis bisogna controllare che il dato abbia il formato giusto non che il suo valore sia o meno in una tabella.
Mi spiego. Mettiamo che hai mandato una mail di conferma all'utente
caio_1992. Ma infatti
caio_1992 è anche noto come
mister_malvaggio_1992. In questo caso è in possesso di una porta di entrata nel tuo sistema tramite il link che gli hai mandato. E nulla gli impedisce mandarti altri dati nel link, dati che potrebbero essere pericolosi senza un controllo del formato del dato.
Esempio : il link per la conferma è
www.miosito.it?p=ADCD-D4Sh-AZ51-iO0P-GHNS-8dTY-lmL9
Cosa succede se lui ti fa
www.miosito.it?p=dati malvaggi e che non controlli il dato prima che passi la porta di entrata ? Se lui è bravo e tu no allora possono esserci casini.
Quindi prima di utilizzare il dato trasmesso in una query controlli che il dato sia formato bene. In questo caso controlli che il dato sia una stringa di sette gruppi di 4 carattere separati tra di loro dal carattere trattino.
Di conseguenza se ricevi p=14521125DQQKFNQEFNOFDNB o p=ERSD-12DJ o qualunque altro valore che non combacia con il tuo formato puoi scartarlo e non eseguire il resto del codice e sei salvo !!!