Qual è la logica dietro l'input di filtraggio / disinfezione?

0

Ho sempre trovato più logica convalidare l'input anziché filtrarlo. Come filtrare in modo appropriato i dati dipende dalla situazione, quindi IMO dovrebbe essere fatto in output o quando si salva in un database.

Ma vedo che alcuni framework forniscono filtri XSS automatici per i dati POST e GET in arrivo. Qual è la logica dietro questa soluzione? Non riesco a vedere alcun vantaggio nel fare questo tranne fornire una soluzione rapida e facile agli sviluppatori "pigri".

O c'è qualche motivo di sicurezza specifico che non capisco?

    
posta lortabac 18.07.2012 - 17:47
fonte

2 risposte

3

Non direi che i framework forniscono il filtro XSS perché gli sviluppatori sono "pigri". Lo fanno in modo che gli sviluppatori possano concentrarsi sul codice di creazione specifico per la loro applicazione. Il lavoro di uno sviluppatore è abbastanza difficile da gestire le (spesso) sconcertanti regole aziendali che le applicazioni devono applicare.

Diciamo che eri un falegname esperto. Dato abbastanza tempo puoi costruire qualsiasi cosa. Hai un lavoro per rifare la cucina di qualcuno. Dovresti passare una buona parte del tempo a fare il miglior martello del mondo? Oppure, dovrebbe passare il tempo a rifare la cucina e usare il martello da $ 20 che puoi ritirare da Lowe's?

La società che produce martelli concentra tutte le sue energie nel creare i migliori martelli che possono. Le persone che fanno le strutture concentra le loro energie nel creare i migliori quadri che possono. Possono passare il tempo a testare e ritestare quel codice perché è quello su cui si concentrano. Quando devi tirare il tuo da solo puoi perdere qualcosa o creare un bug a cui non potresti mai pensare. A volte devi creare il tuo martello (o codice) per soddisfare un bisogno molto specifico, ma spero che sia poco e lontano.

    
risposta data 18.07.2012 - 18:41
fonte
0

La mia preferenza è sempre convalidare l'input e l'output del filtro . L'input di filtraggio spesso consente di risparmiare tempo e aiuta i pigri, ma è sempre possibile che il filtro di output debba essere modificato o che si desideri analizzare i dati non elaborati per motivi di sicurezza o statistici.

    
risposta data 18.07.2012 - 17:51
fonte

Leggi altre domande sui tag