如果数据是 URL 编码的,那么通过 HTTP GET 发送登录凭据是否足够安全?
6 回答
一点也不。URL 编码很容易可逆。您应该加密传输层(即使用 HTTPS)
否 - URL 编码旨在确保您尝试通过 GET 请求发送的所有字符实际上都可以到达另一端。
它实际上被设计为易于编码和解码,以便为传输准备数据,而不是为了安全。
URL 编码不是任何类型的加密,它只是准备要通过网络发送的字符串。
如果您的数据很敏感,那么 GET 应该是完全没有问题的。这是什么原因?
- 显而易见的,每个偷看 URL 栏的人都会看到数据
- 数据将留在它通过的每个代理日志中
- 如果用户离开该站点,则下一个站点将在其日志/网络统计信息 (REFERER) 中记录该 URL。
URLEncoding 用于编码/传输,而不是安全性。
一点都不安全。
请阅读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。