Sto sviluppando un sito Web che accetta il caricamento di un tipo specifico di dati. In particolare, i dati devono essere una stringa di testo leggibile dall'uomo nell'ordine di migliaia di caratteri. I dati vengono inseriti in un campo di testo che viene quindi caricato sul server quando l'utente fa clic su un pulsante.
Voglio assicurarmi che tutti i dati inseriti nell'area di testo siano conformi al formato accettato, ovvero voglio filtrare qualsiasi contenuto che possa essere caricato da utenti malintenzionati, come immagini, video, eseguibili (o qualsiasi altro file binario per quella materia ), ecc. Come posso raggiungere questo obiettivo? Le mie idee attuali sono le seguenti:
Backend (scritto in Java)
- Indagine sul contenuto del flusso di dati (caratteri magici, identificatori all'inizio dello stream),
- Verifica del tipo di file (considerando l'intero stream caricato come un singolo file),
- rilevamento del tipo MIME.
Frontend (in esecuzione su Tomcat, semplice vecchio HTML + Javascript)
- Verifica della lunghezza del contenuto (i dati non devono essere enormi , ad es. > x KB / MB),
- Javascript verifica dei tipi MIME (non hai esperienza con nessuna libreria per questo ...).
Quali altre opzioni ci sono per minimizzare il rischio che gli utenti carichino contenuti indesiderati o contenuti generali che non siano di un certo tipo?