有没有办法避免为IDN域显示"xn--"?

use*_*250 3 php dns idn

如果我使用www.äöü.com等域名,有没有办法避免在用户的浏览器中显示为www.xn--4ca0bs.com

我猜,像www.xn--4ca0bs.com这样的域名会引起普通互联网用户的混淆.

dec*_*eze 7

这完全取决于浏览器.事实上,IDN几乎只是一种浏览器技术.域名不能包含非ASCII字符,因此实际域名始终是Punycode编码xn--...形式.由浏览器来解决这个问题,但许多人选择不这样做以避免使用类似的Unicode字符进行域名欺骗.

  • 但是DNS系统中的*实际*域名不能.这就是为什么它们被编码为`xn --...`Punycode格式. (7认同)
  • 因此,名称IDNA:应用程序**中的国际域名**. (2认同)

小智 6

从安全角度来看,Unicode 域可能存在问题,因为许多 Unicode 字符很难与常见的 ASCII 字符(或者实际上是其他 Unicode 字符)区分开来。

\n

可以注册“xn\xe2\x80\x93pple-43d.com”等域名,相当于“\xd0\xb0pple.com”。乍一看可能并不明显,但“\xd0\xb0pple.com”使用西里尔字母“\xd0\xb0”(U+0430),而不是 ASCII“a”(U+0061)。这称为同形异义词攻击

\n

幸运的是,现代浏览器有适当的机制来限制 IDN 同形异义词攻击。Chrome 上的 IDN 策略页面突出显示了 IDN 以其本机 Unicode 形式显示的条件。一般来说,如果域标签包含多种不同语言的字符,则 Unicode 形式将被隐藏。如上所述的“\xd0\xb0pple.com”域将以 Punycode 形式显示为“xn\xe2\x80\x93pple-43d.com”,以限制与真正的“apple.com”的混淆。

\n

欲了解更多信息,请参阅郑旭东的博客文章

\n