Ecco alcune idee.
- Tutto deve essere SSL TLS v1.2 +
- Avere un login / password sarebbe meglio
- Avendo successo nel logging l'utente ottiene un codice random 64 byte o più
- La richiesta viene modificata in modo tale che al posto di link hai link random 64 byte o più / file
- Il codice scade quando l'utente si disconnette o ha un orario basato su
- La base dei tempi è più sicura e l'app può recuperare un nuovo codice ogni 5 minuti
- Ogni codice è interno a un indirizzo IP e l'utente deve effettuare nuovamente il login se cambia.
- Qualsiasi IP che invia un token a 64 bit falso è bannato. Dì 20 minuti.
Se MITM il cert SSL e il pacchetto hanno scaricato il traffico, potrebbe essere ancora possibile, ma la barra viene aumentata in modo significativo. La firma e il blocco dei certificati rendono questo incredibile difficile.
In questo modo non viene memorizzato alcun codice fisso nell'app. L'utente deve passare attraverso un controllo utente / password per ottenere anche detto codice. Anche se pubblichi il codice sorgente, un nome utente e una password validi non saranno ancora presenti.
Ogni utente e se sono consentiti più accessi per utente ogni istanza ha una chiave diversa. Se hanno un telefono cellulare e un tablet.
Senza un nome utente / password qualsiasi processo può essere decodificato. Il token a 64 bit non può essere facilmente indovinato, ma il processo per ottenere uno potrebbe essere indovinato.
PHP ha un "id di sessione", e puoi collegare simbolicamente l'ID di sessione alla cartella reale internamente. Eliminazione di detta cartella dopo 5 minuti o ecc. Probabilmente è meglio usare una funzione casuale sicura.