Sto scrivendo un'app utilizzando Electron ma suppongo che questo sarebbe un problema per qualsiasi software che consente di aprire collegamenti nel browser predefinito dell'utente attraverso il sistema operativo.
Diciamo che ho un'app che legge qualcosa come un feed di Twitter e lo mostra. Quindi l'app visualizza 10 voci. Alcune di queste voci hanno collegamenti forniti dall'utente. Se l'utente fa clic su un link, desidero avviarlo nel browser predefinito dell'utente.
In Electron mi viene detto che dovrei chiamare electron.shell.openExternal(url)
. Devo filtrare gli URL? Gli URL comuni sono ad esempio http://xxx
, https://xxx
, mailto:xxx
quindi potrei semplicemente autorizzare questi 3 tipi di URL. Allo stesso tempo, non voglio limitare a torto la buona funzionalità. In altre parole, non ho idea di quali siano gli altri schemi validi. Consenti ftp://
? %codice%? %codice%? Quindi preferirei semplicemente passare tutto.
Allo stesso tempo sono preoccupato, ci sono URL potenzialmente cattivi? Esempio ipotetico: sftp://
Dovrei autorizzare? Lista nera? Filtro? Se sì, qual è il filtro? O dovrei semplicemente passarli al sistema operativo?