Best practice per il servizio di recupero URL? Come evitare di essere un vettore di attacco?
Domanda
Sto armeggiando con uno strumento web che, dato un URL, recupererà il testo e fornirà all'utente alcune statistiche sul contenuto.
Sono preoccupato che offrire agli utenti un modo per avviare una richiesta GET dalla mia casella a qualsiasi URL arbitrario in rete possa servire da vettore per gli attacchi (ad esempio http://undefended.box/broken- sw / admin? do_something_bad
).
Esistono modi per ridurre al minimo questo rischio? Qualche best practice nell'offrire capacità di recupero di URL pubblici?
Alcune idee a cui ho pensato:
- onorare
robots.txt
- accettando o rifiutando solo determinati pattern URL
- controllo della lista nera / lista bianca dei siti appropriati (se esiste una cosa del genere)
- lavorando attraverso un noto proxy Web pubblico di terze parti, supponendo che abbiano già integrato queste garanzie
Grazie per il tuo aiuto.
Modifica: valuterà solo HTML o contenuto di testo, senza scaricare o valutare script, immagini, ecc. collegati. Se HTML, userò un parser HTML.
Soluzione
Le statistiche saranno solo sul testo nel documento? Lo valuterai usando un parser HTML?
Se è solo il testo che si intende analizzare, ovvero senza scaricare ulteriori collegamenti, valutare script, ecc., il rischio è meno grave.
Probabilmente non sarebbe male passare ogni file scaricato attraverso un programma antivirus. Dovresti anche limitare i GET a determinati tipi di contenuto (ovvero non scaricare file binari; assicurati che sia una sorta di codifica del testo).