代码之家  ›  专栏  ›  技术社区  ›  Shaihi

谷歌安全认证

  •  1
  • Shaihi  · 技术社区  · 14 年前

    我需要查询谷歌的一个服务。我读了这个答案: download csv from google insight for search
    从该问题复制和粘贴的代码是:

    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);
        }
    

    我想知道发送字符串中的密码是安全的还是可以被抓取?

    如果这不安全,应该怎么做?

    2 回复  |  直到 13 年前
        1
  •  2
  •   Alex Martelli    14 年前

    因为它使用 https (不是纯HTTP)它应该和网络上其他任何东西一样安全。一旦建立了底层的TLS连接,包括URL在内的所有数据都将通过加密通道传输。

        2
  •  1
  •   D.W.    13 年前

    这是一种“好消息,坏消息”的情况。

    好消息:密码不能被窃听者抓取(因为它是通过https:encrypted发送的)。

    坏消息:会话cookie可以被窃听者抓取(因为它是通过http发送的:不是加密的)。正如Firesheep所证明的,让某人访问你的Google会话cookie是危险的,因为它让攻击者可以访问你的电子邮件和存储在Google上的其他内容。

    如果你能改变 http 指向的URL https URL,这样更安全。