|
[Lua] E' il caso di usare una Sandbox? E Come?
|
| Autore |
Messaggio |
_tommo_
Mod nerdcore
Messaggi: 5,910
Registrato: Nov 2008
Online
|
#1
[Lua] E' il caso di usare una Sandbox? E Come?
Salve,
da un bel pò di tempo ormai ho inserito lo scripting Lua come componente fondamentale di Drafted... tuttavia all'inizio non avevo pensato ad un problema che potrebbe non essere secondario: gli script che teoricamente dovrebbero servire solo a decidere come mandare avanti il gameplay, possono invece fare chiamate all'host, connettersi ad internet, e chi più ne ha più ne metta...
Per cui, cosa dovrei fare per voi? Fregarmene e risolvere con un bel disclaimer tipo "se una mod vi fa esplodere il pc non sono responsabile", oppure tentare di costruire una Sandbox in cui eseguire gli script?
E se si, come potrei fare?
Grezie
Tommaso Checchi
< devlog | twitter | Dojo, a C++ game framework >
|
|
| 17-11-2008 12:45 |
|
dsoft20
XD:I
Messaggi: 888
Registrato: Nov 2008
Offline
|
#2
Re: [Lua] E' il caso di usare una Sandbox? E Come?
Dsoft Venti
|
|
| 17-11-2008 13:12 |
|
_tommo_
Mod nerdcore
Messaggi: 5,910
Registrato: Nov 2008
Online
|
#3
Re: [Lua] E' il caso di usare una Sandbox? E Come?
beh in realtà avevo pensato a farlo anche per interesse personale... passi in un gioco free o quasi, ma in un programma appena più importante non si possono lasciare gli script sciolti...
Cmq credo che ci sia una maniera abbastanza facile per impedire a Lua l'accesso al sistema togliendo i permessi al thread... solo che il thread in cui gira è quello principale
Potrei semplicemente evitare di caricare le librerie ausiliarie diverse da Math, ma poi ho paura di limitare troppo l'utilità... ad esempio, dovrebbe essere permesso creare e scaricare files nella cartella Data del gioco, ma non altrove. Così facendo invece non si può fare e basta
Tommaso Checchi
< devlog | twitter | Dojo, a C++ game framework >
|
|
| 17-11-2008 13:20 |
|
dsoft20
XD:I
Messaggi: 888
Registrato: Nov 2008
Offline
|
#4
Re: [Lua] E' il caso di usare una Sandbox? E Come?
_ToMmO_ ha scritto:beh in realtà avevo pensato a farlo anche per interesse personale... passi in un gioco free o quasi, ma in un programma appena più importante non si possono lasciare gli script sciolti...
Cmq credo che ci sia una maniera abbastanza facile per impedire a Lua l'accesso al sistema togliendo i permessi al thread... solo che il thread in cui gira è quello principale 
Potrei semplicemente evitare di caricare le librerie ausiliarie diverse da Math, ma poi ho paura di limitare troppo l'utilità... ad esempio, dovrebbe essere permesso creare e scaricare files nella cartella Data del gioco, ma non altrove. Così facendo invece non si può fare e basta 
Si potrebbe impedire l'esecuzione di uno script lua che è stato precedentemente analizzato per vedere se ci sono chiamate a cose "scomode", però è un lavoro immondo.
Oppure come hai detto caricare solo le librerie Math e far richiamare da lua funzioni personalizzate per lo scaricamento dei file
Dsoft Venti
|
|
| 17-11-2008 13:32 |
|
miniBill
Posting Freak
Messaggi: 1,700
Registrato: Nov 2008
Offline
|
#5
Re: [Lua] E' il caso di usare una Sandbox? E Come?
secondo me il modo più easy è come ha detto dsoft20: impedisci tutto tranne la libreria math e crei tu un'API per le cose consentite
Nōkírå
|
|
| 17-11-2008 14:30 |
|
miniBill
Posting Freak
Messaggi: 1,700
Registrato: Nov 2008
Offline
|
#7
Re: [Lua] E' il caso di usare una Sandbox? E Come?
oppure crei due "modi": limitato ed illimitato, in questo modo sono possibili pure mod "estreme", avvisando però gli utenti che il modo illimitato può essere *MOLTO* dannoso (consiglio applicazione di rosso, triangoli, lampeggiamento e scheletri per sottolineare la cosa)
Nōkírå
|
|
| 18-11-2008 16:10 |
|
_tommo_
Mod nerdcore
Messaggi: 5,910
Registrato: Nov 2008
Online
|
#8
Re: [Lua] E' il caso di usare una Sandbox? E Come?
Hmm... mi avete convinto, meglio lasciare stare
Cioè, meglio finire il gioco prima.
Basterà mettere da qualche parte ben visibile:
"The Author is not responsible of the Content of unapproved mods, wich may violate your privacy and/or harm you computer"
Dite che crea abbastanza sicurezza?
Tommaso Checchi
< devlog | twitter | Dojo, a C++ game framework >
|
|
| 18-11-2008 16:40 |
|