Universal Form Handler

0

Sto costruendo un'API che viene chiamata da applicazioni web / mobile scritte utilizzando Ionic (lingue web su dispositivi mobili), che utilizza Angular.js.

Vogliamo essere in grado di eseguire la convalida dei moduli sul lato server, ma non vogliamo dover riscrivere le funzioni costantemente per abbinare ogni modulo. Tuttavia, dobbiamo assicurarci che i moduli siano completamente verificati, che contengano tutti i campi previsti e che non contengano campi aggiuntivi, dal momento che gli invii di moduli come questi sono facilmente modificati dall'utente.

Avere un gestore universale per il modulo sarebbe una buona idea? Qualcosa che collegava tutti i campi inviati e utilizzava uno switch per abbinare il loro tipo a una certa formattazione? E per garantire che fosse l'insieme di campi corretto, con un identificatore di modulo che legge l'elenco di campi che dovrebbe avere da un database?

    
posta Adam Brocklehurst 13.04.2016 - 14:36
fonte

1 risposta

1

Molte discussioni su questo argomento su StackOverflow sono contro il tuo approccio. La inoltro, ad esempio, all'indirizzo questa risposta per quanto riguarda il post a cui è collegato.

Tuttavia, il tuo approccio è la cosa giusta da fare per il semplice motivo che riduce la superficie di attacco ; e potrei esserlo è una buona idea quote questo questo mondo reale esempio per evidenziare i vantaggi del tuo approccio:

The application allowed the user to specify the language to be used for the interface. The parameter specifying the language was included 3 times as part of each returned page. Each time it was validated differently, leaving one instance open to cross-site scripting attacks. Obviously, the developer for the application did not implement a centralized and consistent set of input validation functions.

Inoltre, il tuo approccio è citato come pratica di cooding sicura in Lista di controllo delle procedure di codifica sicura OWASP .

Se vuoi andare oltre nella perfezione del tuo approccio, puoi seguire questo consiglio dai Principi di OWASP Secure Coding 1 :

It is a fine thing when implementing data validation to include a centralized validation routine for all form input. However, it is a far finer thing to see validation at each tier for all user input, coupled with appropriate error handling and robust access control.


1. Nel momento in cui ho menzionato questo, la pagina OWASP è stata modificata l'ultima volta il 21 gennaio 2016

    
risposta data 26.04.2016 - 19:06
fonte

Leggi altre domande sui tag