Attualmente sto sviluppando un gioco di applicazioni multiplayer su Android e la logica lato server è implementata utilizzando le funzioni cloud, che è un ambiente privo di server. La logica dell'applicazione è la seguente: due utenti ricevono una domanda (ad esempio la stessa) e entrambi cercano di rispondere. Quando un utente risponde alla domanda, controlliamo se la risposta è corretta o meno sul lato server. Questo è il posto dove sono confuso. Supponiamo che la risposta dell'utente non sia corretta. Il server arriverà a questa conclusione e invierà i dati al lato client per notificare all'utente che la risposta è errata. Supponiamo che il codice client sia il seguente:
boolean is_correct_answer = getServerResponse();
Nel nostro esempio, getServerResponse()
restituirà false in questo caso (ad esempio poiché la risposta dell'utente non è corretta). Da quello che capisco, il codice lato client può essere manipolato, e quindi il valore di is_correct_answer
può essere impostato su true da qualche hacker. Pertanto, la validazione lato server non è stata affatto utile nel nostro esempio. La mia domanda, quindi, è: qual è il modo corretto di convalidare le risposte degli utenti e successivamente di notificare loro se la loro risposta era corretta o meno?