mailto in href:我应该添加rel noopener,noreferrer吗?

rap*_*2-h 8 html mailto security privacy

假设我有这个 HTML 代码:

<a href="mailto:me@example.org" target="_blank"></a>
Run Code Online (Sandbox Code Playgroud)

据我所知,出于安全和隐私原因,最佳实践告诉我必须添加rel="noopener noreferrer"外部的每个链接。我是否必须将mailto链接视为外部链接?

Ars*_*vin 6

你可以在这里更好地理解它:https : //mathiasbynens.github.io/rel-noopener/

简短回答:不需要,因为该链接不会打开一个新的window,它可以(ab)使用window.opener上面链接中解释的问题。

更新:正如 op 指出的那样 - 我认为邮件客户端将处理mailto:链接的假设是错误的。可以用来navigator.registerProtocolHandler让网络应用程序处理这些链接(或任何其他与此相关的链接)。因此,我会说你应该rel="noopener noreferrer"按照最初的建议添加 。

  • 我的邮件客户端是 gmail,我在 mac 上使用 Firefox,当我点击“mailto”时,它总是打开一个带有 gmail 的新标签。 (2认同)

Syn*_*hro 5

在邮件消息中,我认为这不会有任何区别。Referrer 标头包含源链接位置的 URL - 但电子邮件没有URL,因此我希望在这种情况下,referrer 标头为空或不存在。

不可能navigator.registerProtocolHandler在电子邮件客户端中使用类似的东西,因为它们通常不支持任何类型的脚本。当您使用网络邮件客户端时,这可能会有不同的行为,但我还没有对此进行测试。

换个方向,如果您有一个包含发送到邮件客户端的 mailto 链接的网页,那么我从来没有见过使用引荐来源网址执行任何操作的邮件客户端,同样,因为它不是 HTTP 客户端,也不是处理 HTTP 请求,但协议切换。

总体设置rel="noopener noreferrer"不会损害您的链接,但我怀疑从功能或安全角度来看它也不会做任何有用或有趣的事情。