我偶然发现了以下文章:
http://www.josscrowcroft.com/2011/code/utf-8-multibyte-characters-in-url-parameters-%E2%9C%93/
文章讨论了在URL中使用UTF-8字符。
我想知道使用它是否安全。
我和撰写文章的人基本上有相同的设置(浏览器+操作系统)。所以我无法真正测试它。
那么......在URL中使用UTF-8字符是否安全?
奖金问题:如果安全的话,为什么没有多少网站使用它?
答案 0 :(得分:5)
url中的Unicode字符(我不是在谈论域名)可以安全使用。如果您在自己的网站上使用它们,则不存在安全风险。 (如果Oded说他最终用户在网页上使用unicode访问欺诈网站,则会有一些风险。)
唯一真正的问题是旧浏览器(和操作系统)如何显示它们。不支持它们的浏览器会在网址中显示那些丑陋的百分比编码字符。您可能还必须对html中的网址进行百分比编码,以防旧版浏览器不为您编码,并且用户无法关注链接(这很糟糕)。现代浏览器在地址栏中显示已解码的URL,但使用编码版本发送请求,因此用户始终可以看到漂亮的unicode字符。
答案 1 :(得分:1)
任何支持IDN的浏览器都可以。
然而,IDN在不同的Web服务器以及代理和其他互联网基础设施上得不到很好的支持,因此大多数网站都不支持它,并确保人们可以访问它们......
而且,正如@Rook所暗示的那样,以这种方式使用UTF-8仍然存在安全问题(例如XSS)。
答案 2 :(得分:-7)
UTF-8还有很长的路要走...绝对不安全。
在文化上,我喜欢这样。我无法想象用中文字母编写/记住URL地址,或者他们也这样做。