Pergunta

Preciso fazer uma consulta a um dos serviços do Google. Eu li esta resposta: Baixe CSV do Google Insight para pesquisa
O código copiado e colado dessa pergunta é:

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 quero saber se o envio da senha na string é seguro ou pode ser agarrado?

Se isso não estiver protegido, como deve ser feito?

Foi útil?

Solução

Já que usa https (não simples HTTP) Deve ser tão seguro quanto qualquer outra coisa pode estar na rede. Todos os dados, incluindo o URL, viajam em um canal criptografado, uma vez que a conexão TLS subjacente estabelecida.

Outras dicas

Esta é uma daquelas situações de "boas notícias, más notícias".

Boas notícias: a senha não pode ser agarrada por um espionagem (porque é enviado sobre HTTPS: criptografado).

Más notícias: o cookie da sessão pode ser agarrado por um bisbilhoteiro (porque é enviado por HTTP: não criptografado). Como o FireSheep demonstrou, permitir que alguém tenha acesso ao seu cookie da sessão do Google é perigoso, pois dá ao invasor acesso ao seu e -mail e outro conteúdo armazenado no Google.

Se você pode mudar o http Url a um https URL, isso seria mais seguro.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top