地址栏中的URL重写

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了地址栏中的URL重写相关的知识,希望对你有一定的参考价值。

我不知道在哪里可以找到为什么如果我将此网址粘贴到Chrome,Safari和Firefox的地址栏中,它将被翻译成带有几个重音字符的不同网址。

它导致加密货币网络钓鱼站点,所以要小心。

我正在尝试找到逻辑(javascript)或导致此转换的任何内容

基本网址是http://www.xn--shapehit-ez9c7y.com

如果这是一个错误的网站提出问题我很抱歉。

答案

这称为PunyCode,它是一种在ASCII字符集中表示Unicode的方法。这允许网站具有外国字符的名称,例如中文或阿拉伯语。虽然这非常有用,但它也可以用于欺骗性冒充(通常是恶意的,如你的问题所述)。

不同的浏览器对待PunyCode的方式不同。例如,Safari和Edge不会尝试隐藏PunyCode,并会显示完整的“奇怪”网址。

但是,according to Sophos

Chrome和Firefox不会自动解码punycode网址,如果它们混合多个字母或语言,理由是这些文本字符串在现实生活中极不可能,因此是可疑的。但Chrome和Firefox都会自动转换包含同一语言所有字符的punycode网址。

一位名叫徐东铮的安全研究员实际上注册了xn--80ak6aa92e.com这个域名,后者翻译成'俄语'中的аррӏе。在Chrome或Firefox中访问时,它看起来与网址中的apple.com完全相同:

enter image description here

幸运的是,他的网站只是警告这种伪造,但很容易被恶意使用。

希望这可以帮助 :)

以上是关于地址栏中的URL重写的主要内容,如果未能解决你的问题,请参考以下文章

facebook如何重写浏览器地址栏中页面的源URL?

如何删除 URL 中的参数并将其显示在地址栏中而不会导致 Javascript 中的重定向?

PHP将变量附加到地址栏中的url

使用 htaccess 重写后,如何在 PHP 中获取可见 URL(不是实际 URL)? [复制]

如何获取地址栏中的url

获取URL地址栏中的参数并返回值