La principale differenza tra le richieste GET e POST è che nelle richieste GET una terza persona può vedere le informazioni passate all'applicazione semplicemente visualizzando l'url, qualcosa che non lo fa Accade con le richieste POST. Ecco perché è considerato migliore e più sicuro utilizzare POST anziché GET metodo http per dati sensibili.
Tenete presente, però, da una prospettiva di sicurezza se qualcuno con qualsiasi mezzo riesce a eseguire con successo, ad es. un attacco MITM alla rete, sarà in grado di recuperare non solo GET ma anche parametri / dati POST, quindi assicurati che quando passi dati sensibili alla tua applicazione - li passi criptati - quindi link combinato con HSTS in questo caso svolge un ruolo molto importante per proteggere l'applicazione e i client dagli aggressori remoti.
Ora su cosa sono considerati dati sensibili? Non sono un avvocato, ma credo che i dati sensibili debbano essere protetti da qualsiasi accesso non autorizzato. Anche questo dipende dall'applicazione. Ad esempio, Facebook consente agli utenti autenticati di visualizzare alcune delle tue informazioni (se imposti le impostazioni per farlo) - quindi in questo caso spetta all'utente selezionare cosa condividere e cosa mantenere privato ( ovviamente alcune cose deve essere mantenuto privato, come password, numeri di previdenza sociale, numeri di carta di credito ecc ... ).
Anche se alcune delle informazioni dell'utente sono utilizzate dalle funzionalità dell'applicazione e devono essere passate frequentemente all'applicazione ( es. email dell'utente per l'autenticazione ) ma non è necessario che siano visibili, è meglio per nasconderli e quando necessario passarli alla tua applicazione usando POST al posto di GET. In questo modo puoi prevenire ( o almeno scoraggiare ) alcuni tipi di attacchi come attacchi a forza bruta. Immagina che la complessità di un simile attacco si riduca da O (n ^ 2) a O (n) quando l'utente malintenzionato conosce il nome utente o la password e non ha per indovinare la combinazione corretta.