Безопасная аутентификация Google
-
25-09-2019 - |
Вопрос
Мне нужно сделать запрос на один из услуг Google. Я прочитал этот ответ: Скачать CSV из Google Insight для поиска
Копированный и вставленный код из этого вопроса:
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);
}
И я хочу знать, является ли отправка пароля в строке безопасна или может быть схвачена?
Если это не обеспечено, как должно быть сделано?
Решение
Так как он использует HTTPS. (Не просто http) должно быть примерно так же безопасно, как и большее, что-либо еще может быть в сети. Все данные, включая URL, путешествовать на зашифрованном канале после установления базового подключения TLS.
Другие советы
Это одна из тех «хороших новостей, плохих новостей».
Хорошая новость: пароль не может быть схвачен подслушиванием (потому что он отправляется через HTTPS: зашифровано).
Плохие новости: сеанс Cookie можно схватить подслушивателем (потому что он отправляется через http: не зашифровано). Как продемонстрировал FireSheep, позволяя кому-то получить доступ к вашему доступу к вашему файлу cookie Google, опасно, поскольку он дает атакующему доступу к вашу электронную почту и другой контент, хранящийся в Google.
Если вы можете изменить http
URL для A. https
URL, это было бы безопаснее.