Stiamo progettando un aracade online per i giochi HTML5. Gli utenti possono caricare un file zip che contiene il loro gioco.Rischi nel consentire agli utenti di caricare file HTML/JS
Sul caricati, la cerniera viene estratto dal server e ogni file è in loop controllando è un'estensione contro una lista bianca che consente:
- .html
- .js
- .png
- . jpg
- .appcache
- .m4a
- .ogg
(I giochi devono essere creati nel nostro editor di giochi che esporta quei file). Ciò dovrebbe impedire alle persone di caricare zip, file di script sul lato server ecc.
I giochi vengono quindi spostati nel nostro dominio statico senza cookie (scirra.net). Quando il gioco viene giocato sulla nostra pagina scirra.com, il gioco viene visualizzato in un iframe che punta al dominio scirra.net. Questo dovrebbe impedire a JS malintenzionato di accedere ai cookie di scirra.com.
Questa tecnica e whitelist iframe è sufficientemente completa da impedire che venga fatto qualcosa di malevolo? Nota che non è possibile eseguire lo screening di ogni file JS, quindi dovremmo pensare che le persone provino a caricare JS dannoso.
so che questo potrebbe causare un po 'di flack, ma è necessario un processo di approvazione simile alla mela. –
Penso che dipenda anche dal tipo di sicurezza che ti interessa. Sei interessato unicamente a proteggere i tuoi server o sei anche interessato ad essere sicuro di non ospitare codice dannoso per i tuoi giocatori. Se si stanno prendendo in considerazione entrambi i casi, potrebbe essere necessario fare un po 'più di lavoro per verificare che l'utente non stia realizzando (anche all'interno del proprio editor) qualche JavaScript furbo che potrebbe sfruttare il giocatore. – RLH
@Daniel, non è proprio realistico per noi. Abbiamo un vasto pubblico di persone che vorrebbero usarlo e vorrebbe un modo per sandbox ogni gioco in modo che sia sicuro. Mi sto davvero chiedendo se un JS eseguito in un frame su un dominio diverso possa fare danni. –