Live data from Hacker News

About rel=noopener (2016)

mathiasbynens.github.io

41–48 of 48 posts

Re: About rel=noopener (2016)

#42

Earlier quoted context omitted.

in semantic versioning terms, we need a "2.x" of the HTML API. We'd need to break backwards compatibility across the board and have sites opt in to use v2 using some kind of flag. The benefits would be massive but it would also require browsers to essentially have 2 different engines to support both legacy and v2 websites.

How about a Babel-like transpiler, that would take HTML written in this newly proposed standard and outputs backward-compatible code? For example, adding rel="noopener" by default to external links.

This could work, but ultimately it's just more and more duct tape. It's high time to start with a cleaner, more secure slate and let people migrate maintained applications over; the old stuff can run in a more secured, more limited sandbox.

Re: About rel=noopener (2016)

#43

My totally unmeasured hunch is that there is a downside to using noopener: it could make the new page that is being opened take slightly longer, since it now needs to spool up another process/thread/sandbox/whatever instead of piggy backing off the existing page's. More about the performance "benefit" here: https://jakearchibald.com/2016/performance-benefits-of-rel-n...

I think this is largely a non-issue now due to spectre mitigations. e.g. Chrome is enabling site-isolation by default which would run the new page in a separate process anyway. I think the other major browsers are also doing something similar.

Re: About rel=noopener (2016)

#44
post #41
post #10

There's a Firefox extension to add the rel=noopener attribute to all links (except ones to the same domain): https://addons.mozilla.org/en-US/firefox/addon/dont-touch-my...

Here's one for Chrome: https://chrome.google.com/webstore/detail/no-opener-no-phish...

I made that! Thanks for sharing, didn't expect someone to know about it.

Re: About rel=noopener (2016)

#45

Earlier quoted context omitted.

Could you elaborate on how it's less on an issue than before? Have browsers implemented some security strategies since the article was published? I've seen this article (OP) a few times already, and it keeps reminding me to add rel="noopener noreferrer" on whatever site/system I'm working with at the time. In fact I just did that yesterday when I saw this article, to set up a way to automatically add it for external…

I'm going off of the tickets linked in the footer of the article, which seem to show they're being resolved.

Ah I see that now, it escaped my notice earlier. Thank you, that's good to know!

Re: About rel=noopener (2016)

#46

Earlier quoted context omitted.

But have you truly internalized it?

I still use rel="noopener noreferrer" on _blank links, but it's less of an issue than it was when first reported.

Hehe I was kidding. I’ve only sort of internalized it.

Re: About rel=noopener (2016)

#47
post #35

Earlier quoted context omitted.

in semantic versioning terms, we need a "2.x" of the HTML API. We'd need to break backwards compatibility across the board and have sites opt in to use v2 using some kind of flag. The benefits would be massive but it would also require browsers to essentially have 2 different engines to support both legacy and v2 websites.

> in semantic versioning terms, we need a "2.x" of the HTML API. Version # is not the phrase you want to overload. HTML5 is the latest version and was released 4 years ago.

I'm not suggesting overloading it - just trying to come up with a fitting metaphor.

Re: About rel=noopener (2016)

#48

Earlier quoted context omitted.

I remember this very thing being discussed years ago. Since this is still a problem, I'd say the web needs a way to gracefully migrate away from bad decisions like window.opener being available across origins. Should we not decide that cross-origin window.opener is now deprecated, show big fat warnings on the developer console when it's used, and remove it in a year or two? I'd like an option to completely turn it of…

> Should we not decide that cross-origin window.opener is now deprecated, show big fat warnings on the developer console when it's used, and remove it in a year or two? That does nothing for deployed sites that aren't actively developed? Browser devs have decided those sites are worth not breaking.

Browsers should show a warning that a "possibly insecure legacy mode" is in use.

If browsers enforce HTTPS in a similar way, I don't see why they shouldn't enforce better security elsewhere as well.

Post reply on HN