Chiedo scusa in anticipo se questo è il sito SE sbagliato per questo argomento, anche se dovrebbe essere una corrispondenza abbastanza appropriata.
Sto costruendo un videogioco in cui una delle funzionalità disponibili per gli utenti sarà online multiplayer. Rilascerò il software server gratuitamente (e open source) con la speranza che gli utenti siano in grado di eseguire i propri server modificabili per le loro comunità.
I server possono utilizzare liberamente le risorse "vanilla", tuttavia alcuni potrebbero decidere di aggiungere le proprie risorse come trame e modelli. Quello che mi piacerebbe realizzare è quello di consentire ai client di (con l'esplicita azione dell'utente) di scaricare le risorse richieste.
Per aggiungere un ulteriore livello di complessità, alcune di queste risorse sono disponibili per il download pubblicamente, mentre altre sono proprietarie e disponibili solo tramite il server.
La mia preoccupazione principale è la riduzione dei file dannosi attraverso il software di distribuzione. Tuttavia, la mia "grazia salvifica" potrebbe essere che tutti i file distribuiti saranno .png
, .txt
, .xml
, .yml
e .mdl
, e tutti saranno utilizzabili nelle loro forme esistenti senza modifiche .
I file non verranno trasferiti al client, ma il client lo farà. Questo eliminerà qualsiasi problema con il server che ha accesso al filesystem del client, che potrebbe davvero fare del male.
Ora, per la domanda parte di questo:
Oltre a un ampio disclaimer che informa l'utente che è un loro problema se succede qualcosa, dove dovrebbero essere poste le mie preoccupazioni riguardo la sicurezza e la validità dei file?
Tutte le comunicazioni da e verso il server saranno crittografate, probabilmente usando qualcosa di simile al protocollo Signal. Inoltre, quando un amministratore del server carica un file, il server genererà un hash che dovrebbe consentire al software client di verificare che il file non sia stato modificato durante il transito, anche se non di più.
Una maggioranza di massa dei file trasmessi sarà .txt
file, che di per sé non dovrebbero contenere alcun pericolo intrinseco (a mia conoscenza). Inoltre, nessuno dei file viene eseguito. Il codice sulla macchina del cliente analizzerà i file e scarterà tutto ciò che non è il formato giusto.
Capisco che non tutte le preoccupazioni possono essere affrontate qui perché l'argomento è abbastanza ampio, anche se qualsiasi suggerimento su eventuali problemi potenziali o qualsiasi altra cosa di cui essere generalmente consapevole sarà apprezzato.