Ora sarò costretto a correre di nuovo ai ripari, obbligando gli utenti attuali (per fortuna pochi
) ad installare la prossima nuova versione.
L'app confronta il proprio nome versione con uno prelevato da una pagina PHP; riceve l'ultimo VersionName insieme ad un False o True a seconda se le precedenti versioni siano compatibili con l'ultima. Nel codice, se non c'è compatibilità, l'app mostra un messaggio informando l'utente che è costretto ad aggiornare e l'app si chiude.
Dato che la cifratura tra client e server è "unidirezionale", nel senso che il server (parliamo sempre di php-apache) invia testi non cifrati, l'innominabile sniffatore potrebbe vedere VersioneName e False (o True); poi non so se possa modificare quest'ultimo, invertendolo (probabile).
La nuova versione, invece, pur mantenendo in chiaro i messaggi del server, invierà un dato cifrato che, se non ricevuto correttamente dal server, non accetterà il punteggio inviato.
Dato che attualmente gli utenti si contano sulle dita di una mano e che, soprattutto, sono "amici" (spero
) non se la prenderanno se dovranno aggiornare (anche perché, per quanto ne so, molti lasciano che le loro app vengano aggiornate automaticamente).