El método HTTP GET nunca debe utilizarse para transmitir información confidencial, como credenciales.
No veo por qué el método HTTP GET es más fácil que usar el método HTTP POST, vea la diferencia en el código a continuación.
Sugiero crear una API que maneje la autenticación y la comunicación con el servidor de servicios de fondo.
Como mencionó que va a utilizar PHP, consulte este marco API: enlace
En teoría, los parámetros en la URL no se mostrarán en los archivos de registro ya que estás usando HTTPS. Sin embargo, hay, por ejemplo, proxies corporativos que realizan ataques de hombre en medio para inspeccionar todo el tráfico.
En estos casos, las credenciales se mostrarán en los registros de proxy y esto se considera una mala práctica.
Aquí hay algunos códigos PHP (que requieren saneamiento):
<?php
$username = $_GET['username'];
$password = $_GET['password'];
?>
Este ejemplo es incorrecto porque:
- La información confidencial se transmite en la URL
- No se ha realizado ninguna validación de entrada
Este ejemplo es un poco mejor, pero aún requiere que realices la validación de entrada:
<?php
$username = $_POST['username'];
$password = $_POST['password'];
?>
Ese es el uso diferente entre el método HTTP GET y HTTP POST usando PHP (y, por supuesto, su método de formulario debe establecerse en POST en lugar de GET también).