Sto installando un piccolo sito Web di hosting di codice, in vena di github o bitbucket. Vorrei consentire agli utenti di specificare un URL arbitrario dal quale il server del mio sito inizialmente clonerà il proprio repository. Sto usando mercurial, quindi la clonazione essenzialmente significa solo negoziare un semplice protocollo basato su HTTP tra il client (il mio server in questo caso) e l'host (l'URL che l'utente ha fornito).
Non conosco tutti i dettagli del protocollo mercuriale, ma implica l'esecuzione di alcune richieste HTTP GET e POST e la specifica di alcuni parametri di query sull'URL fornito dall'utente. Oltre all'URL, l'utente non deve avere alcun controllo su quali richieste vengono inviate dal mio sito all'URL che specificano.
In caso di successo, l'interazione con l'URL fornito produrrà un insieme di file, che verranno offerti dal mio sito, possibilmente ad altri utenti, ma non direttamente, ad eccezione delle immagini. In altre parole, se si tratta di un file immagine, lo servirò, ma altrimenti sarà visibile solo come testo di escape.
Ci sono delle implicazioni sulla sicurezza di cui dovrei essere a conoscenza? Capisco che non posso servire HTML, Javascript, Flash, ecc. Arbitrari forniti dall'utente e, a meno che non ci siano problemi nel fornire immagini arbitrarie di cui non sono a conoscenza, penso che la porzione di servizio dovrebbe andare bene. Sono interessato più all'interazione con URL arbitrari forniti da un utente.