Il metodo HTTP GET non dovrebbe mai essere utilizzato per trasmettere informazioni sensibili come le credenziali.
Non vedo perché il metodo HTTP GET sia più semplice dell'uso del metodo HTTP POST, vedi la differenza nel codice qui sotto.
Suggerisco di creare un'API che gestisca l'autenticazione e la comunicazione al server back-end.
Da quando hai menzionato che utilizzerai PHP, dai un'occhiata a questo framework API: link
In teoria, i parametri nell'URL non verranno visualizzati nei file di registro poiché stai utilizzando HTTPS. Tuttavia, vi sono ad esempio i proxy aziendali che eseguono attacchi man in the middle per ispezionare tutto il traffico.
In questi casi, le credenziali appariranno nei registri del proxy e questa è considerata una cattiva pratica.
Ecco un codice PHP (che richiede servizi igienico-sanitari):
<?php
$username = $_GET['username'];
$password = $_GET['password'];
?>
Questo esempio è sbagliato perché:
- Le informazioni sensibili vengono trasmesse nell'URL
- Non è stata eseguita alcuna convalida dell'input
Questo esempio è un po 'migliore, ma richiede comunque di eseguire la convalida dell'input:
<?php
$username = $_POST['username'];
$password = $_POST['password'];
?>
Questo è il diverso utilizzo tra il metodo GET HTTP e il metodo POST HTTP usando PHP (e ovviamente il metodo della tua form dovrebbe essere impostato su POST al posto di GET).