Come in qualsiasi connessione SSL, il sistema è sicuro se si utilizza TLS 1.2 con solo crittografie protette consentite (vale a dire una buona configurazione SSL).
Oltre a ciò, SSL è protetto da MITM se i sistemi coinvolti si fidano solo dei certificati legittimi usati sulla connessione SSL. Se si può iniettare sul proprio elenco di certificati truiti o convincere il proprio sistema ad accettare un certificato falso, sarà in grado di eseguire un attacco MITM presentando al cliente il certificato falso, decifrando i dati e ricevendolo sul server, agendo come un proxy.
Quindi si consiglia di assicurarsi che i certificati attendibili siano corretti e impostati in maniera restrittiva, e magari anche di utilizzare il blocco della chiave pubblica (decidendo esplicitamente di affidarsi a chiavi pubbliche specifiche invece di fidarsi completamente dei certificati o delle autorità di certificazione). Potresti voler controllare quali sono gli ancore fidati che PHP sta usando, e sembra che a seconda della versione non possa nemmeno controllare il certificato, e questo renderebbe banale un MITM. Maggiori informazioni su questo qui: link
Note that the protocol in the url is https and that the data and api
key are simply included in the url as segments.
Suppongo che tu sia preoccupato che il token API possa perdere qui perché è visibile sull'URL. In realtà la parte di api / apikey / somedata è protetta da SSL, ciò che accade dietro le quinte è che stabilisci una connessione SSL a myapp.com (senza dire quello che vuoi da esso in chiaro) e poi , subito dopo aver collegato con successo, usando la connessione protetta e cifrata, si richiede di "ottenere api / apikey / somedata". Quindi la chiave API non sarà visibile per nessuno che ascolti. Tuttavia , l'URL completo potrebbe perdere altri canali, come una cronologia del browser, i registri e così via. Ecco perché di solito i token di autenticazione vengono aggiunti alle intestazioni HTTP anziché ai parametri path o query. Sono protetti come nel percorso dal punto di vista SSL, ma è meno probabile che trapelino per errore.