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

Dichiarazioni preparate per MySQL PHP PDO:problemi di prestazioni e sicurezza

Penso che questo rientri nella categoria "ottimizzazione prematura".

Quanto è significativo il sovraccarico? L'hai misurato? Influisce affatto sulle prestazioni del tuo server?

È probabile che non lo sia.

Tra i lati positivi, hai un innegabile vantaggio in termini di sicurezza (che dovrebbe essere una delle principali preoccupazioni per qualsiasi negozio basato su Internet).

Sul lato negativo, c'è il rischio che possa influire sulle prestazioni. Nel collegamento che hai fornito, mostra che una preparazione PDO mal implementata si traduce in prestazioni leggermente inferiori rispetto a una dichiarazione non preparata in alcune circostanze. La differenza di prestazioni su 5000 esecuzioni è di 0,298 secondi.

Insignificante. A maggior ragione quando ti rendi conto che le query "non preparate" vengono eseguite senza le routine di sanificazione degli input che sarebbero necessarie per renderli sicuri in un ambiente vivo. Se non si utilizzano le query preparate, è necessaria una qualche forma di sanificazione dell'input per prevenire gli attacchi SQL e, a seconda di come viene eseguita, potrebbe essere necessario modificare i set di risultati.

In conclusione, non ci sono problemi di prestazioni significativi, ma c'è un vantaggio significativo in termini di sicurezza. Da qui la raccomandazione ufficiale di utilizzare dichiarazioni preparate.

Nella tua domanda parli di "l'eshop comune". Il "comune eshop" non avrà mai abbastanza traffico per preoccuparsi del problema delle prestazioni, se presente. Il problema di sicurezza dall'altra parte...