No no, il server di gioco è di terze parti, il client è di terze parti, gli scripts LUA che girano attraverso il client sono "blindati": non possono inviare dati a servizi esterni, non possono eseguire programmi sul computer client... non possono fare nulla che vada oltre l'interagire con le interfacce del gioco, salvare qualcosa in files posti in locazioni predefinite o mostrare dei dati al player (il mio caso).Originariamente inviato da dottwatson
lua ha possibilità di interagire con il server web a livello di files?
nel senso.. creare e modificare files sul server?
Non ho alcun modo di impedire l'invio di dati alterati al mio programma, ma questo avviene anche tramite un normale modulo web mi pare e sta qui il mio problema: validare e sanitizzare i dati che arrivano da JSON verificando che non contengano del codice malevolo.
L'encoding in base64 serve solo a impedire che *chiunque* possa vedere e modificare i contenuti direttamente, ma non ha una presunzione di inviolabilità. Inviolabilità che di base non posso comunque ottenere. Se un utente dovesse decodificare i dati e cambiare il suo nome da "Merlino" a "Giannino" o il numero di monete d'oro che possiede, sarebbe un problema ma un problema poco grave rispetto ad un tentativo di attacco.
P.S.: In realtà esiste un metodo migliore, e cioé distribuire un eseguibile che si occupi del lavoro sporco, esistono altri software che agiscono in questo modo, ma è un caso non accettabile: non voglio (e non posso) chiedere ai miei "utenti" di avviare un exe.