Sicuro di autenticazione di Google
-
25-09-2019 - |
Domanda
ho bisogno di fare una query per uno dei servizi di Google. Ho letto questa risposta: scaricare csv da Google comprensione per la ricerca
Il codice copiato e incollato da quella domanda è:
using (var client = new WebClient())
{
// TODO: put your real email and password in the request string
var response = client.DownloadString("https://www.google.com/accounts/ClientLogin?accountType=GOOGLE&Email=youraccount@gmail.com&Passwd=secret&service=trendspro&source=test-test-v1");
// The SID is the first line in the response
var sid = response.Split('\n')[0];
client.Headers.Add("Cookie", sid);
byte[] csv = client.DownloadData("http://www.google.com/insights/search/overviewReport?q=test&cmpt=q&content=1&export=2");
// TODO: do something with the downloaded csv file:
Console.WriteLine(Encoding.UTF8.GetString(csv));
File.WriteAllBytes("report.csv", csv);
}
e voglio sapere se l'invio della password nella stringa è sicuro o può essere afferrato?
Se questo non è protetto, come dovrebbe essere fatto?
Soluzione
Dal momento che utilizza https (HTTP non semplice) dovrebbe essere di circa sicuro come la maggior parte qualsiasi altra cosa può mai essere in rete. Tutti i dati, tra cui l'URL, corsa su un canale criptato una volta il valore sottostante della connessione TLS stabilita.
Altri suggerimenti
Questa è una di quelle "buone notizie, cattive notizie" situazioni.
Buone notizie: La password non può essere afferrato da utenti malintenzionati (perché è inviata tramite HTTPS: criptato).
Cattive notizie: il cookie di sessione può essere afferrato da utenti malintenzionati (perché è inviata tramite HTTP: non crittografato). Come Firesheep ha dimostrato, lasciando che qualcuno l'accesso get per il cookie di sessione di Google è pericoloso, in quanto dà l'accesso utente malintenzionato di e-mail e altri contenuti memorizzati su Google.
Se è possibile modificare l'URL http
a un URL https
, che sarebbe più sicuro.