7

如果数据是 URL 编码的,那么通过 HTTP GET 发送登录凭据是否足够安全?

4

6 回答 6

21

一点也不。URL 编码很容易可逆。您应该加密传输层(即使用 HTTPS)

于 2009-06-17T17:44:25.787 回答
9

否 - URL 编码旨在确保您尝试通过 GET 请求发送的所有字符实际上都可以到达另一端。

它实际上被设计为易于编码和解码,以便为传输准备数据,而不是为了安全。

于 2009-06-17T17:48:01.677 回答
6

URL 编码不是任何类型的加密,它只是准备要通过网络发送的字符串。

如果您的数据很敏感,那么 GET 应该是完全没有问题的。这是什么原因?

  1. 显而易见的,每个偷看 URL 栏的人都会看到数据
  2. 数据将留在它通过的每个代理日志中
  3. 如果用户离开该站点,则下一个站点将在其日志/网络统计信息 (REFERER) 中记录该 URL。
于 2009-06-17T17:56:44.580 回答
1

URLEncoding 用于编码/传输,而不是安全性。

于 2009-06-17T17:46:43.927 回答
1

一点都不安全。

于 2009-06-17T17:46:55.377 回答
1

请阅读URL 编码的目的

URL 规范 (RFC 1738, Dec. '94) 提出了一个问题,因为它将 URL 中允许的字符的使用限制为 US-ASCII 字符集的有限子集。

另一方面,HTML 允许在文档中使用整个 ISO-8859-1 (ISO-Latin) 字符集范围 - 而 HTML4 扩展了允许范围以包括所有 Unicode 字符集。对于非 ISO-8859-1 字符(Unicode 集中 FF 十六进制/255 十进制以上的字符),它们不能在 URL 中使用,因为没有安全的方法来指定 URL 内容中的字符集信息然而 [RFC2396.]

URL 应该在 HTML 文档中的任何地方进行编码,其中引用 URL 以导入对象(A、APPLET、AREA、BASE、BGSOUND、BODY、EMBED、FORM、FRAME、IFRAME、ILAYER、IMG、ISINDEX、INPUT、LAYER、LINK 、OBJECT、SCRIPT、SOUND、TABLE、TD、TH 和 TR 元素。)

安全不是这里的重点。如前所述,应在需要时使用 HTTPS。

于 2009-06-17T17:47:07.623 回答