Estamos diseñando una aracade en línea para juegos HTML5. Los usuarios pueden cargar un archivo zip que contiene su juego.Riesgos al permitir que los usuarios carguen archivos HTML/JS
En carga, la cremallera es desempaquetado por el servidor y cada archivo se enlaza comprobando su extensión con una lista blanca que permite:
- .html
- Js
- .png
- . jpg
- .appcache
- .m4a
- .ogg
(Juegos deben hacerse en nuestro editor de juego que exporta esos archivos). Esto debe evitar que la gente la posibilidad de subir cremalleras, archivos de script del lado del servidor, etc, etc
Los juegos se mueven entonces hacia nuestro dominio sin cookies estática (scirra.net). Cuando el juego se juega en nuestra página scirra.com, el juego se muestra en un iframe que apunta al dominio scirra.net. Esto debería evitar que JS malintencionado acceda a las cookies de scirra.com.
¿Esta técnica iframe y lista blanca es lo suficientemente amplia para evitar que se haga algo malicioso? Tenga en cuenta que realmente no podemos examinar cada archivo JS, por lo que deberíamos suponer que las personas intentarán subir archivos JS maliciosos.
sé que esto podría causar un poco de flatulencia, pero necesita un proceso de aprobación tipo manzana. –
Creo que también depende del tipo de seguridad que le interese. ¿Está interesado únicamente en proteger sus servidores o también está interesado en asegurarse de que no está alojando código malicioso para sus jugadores? Si está considerando ambos casos, entonces deberá hacer un poco más de trabajo para verificar que el usuario no esté elaborando (incluso dentro de su editor) algunos JavaScript astutos que puedan explotar al jugador. – RLH
@Daniel, no es realmente realista para nosotros. Tenemos una gran audiencia de personas que querrían usar esto y desearían una forma de proteger cada juego para que sea seguro. Realmente me pregunto si un JS ejecutado en un marco en un dominio diferente puede causar algún daño. –