←back to thread

944 points 6a74 | 1 comments | | HN request time: 0.202s | source
Show context
hentrep ◴[] No.41802660[source]
I noticed the URL was updated for this post. Previously it linked to asahilinux.org which showed an anti-HN manifesto from the HN referral. Curious as I haven’t seen this before. Seems it has been covered by previous commenters: https://news.ycombinator.com/item?id=36227103
replies(5): >>41802728 #>>41802899 #>>41803142 #>>41803235 #>>41803470 #
ginko ◴[] No.41802728[source]
How can the site even detect where a user is coming from? Browsers leaking this information seems like a huge privacy issue to me.
replies(1): >>41802741 #
robin_reala ◴[] No.41802741[source]
Referer (misspelled in the spec) has been a part of HTTP from day 1.
replies(1): >>41802788 #
ginko ◴[] No.41802788[source]
Feels crazy this isn’t disabled by default
replies(5): >>41802839 #>>41802862 #>>41802919 #>>41802996 #>>41803993 #
mananaysiempre ◴[] No.41802919[source]
See[1] the Referrer-Policy header, <meta name="referrer">, <a referrerpolicy> and <a rel="noreferrer">.

But generally, webmasters have found it useful to know who caused their server to fall over^W^W^W^W^W^W is linking to their pages. This was even used as a predecessor to pingbacks once upon a time, but turned out to be too spammable (yes, even more so than pingbacks).

After the HN operators started adding rel=noreferrer to links to the Asahi Linux website, Marcan responded[2] by excluding anyone who has the HN submit form in their browser history, which feels like a legitimate attack on the browser’s security model—I don’t know how it’d be possible to do that. (Cross-origin isolation is supposed to prevent cross-site tracking of this exact kind, and concerns about such privacy violations are why SRI has not been turned into a caching mechanism along the lines of Want-Content-Digest, and so on and so forth.) ETA: This is no longer in place, it seems.

[1] https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Re...

[2] https://social.treehouse.systems/@marcan/110503331622393719

replies(1): >>41803317 #
miki123211 ◴[] No.41803317[source]
> I don’t know how it’d be possible to do that

It isn't, at least not in the way you think.

Visited links have always looked different from unvisited ones, and the moment you could customize how links looked via CSS, browsers also had to implement styling for visited links specifically.

Modern browsers put a lot of care into making the changes to those styles observable to the user, but not to Javascript.

This is an extremely hard problem, and browsers have had a lot of security issues related to this behavior. Nowadays, you can only apply a very limited subset of CSS properties to those styles, to avoid side-channel timing attacks and such.

This means you can display a banner to anybody who has a certain URL in their browser history, but you can't observe whether that banner actually shows up with JS or transmit that information to your server.

replies(2): >>41803504 #>>41803791 #
1. mananaysiempre ◴[] No.41803504[source]
Ah. Ahhh[1]. I see.

  <!doctype html>
  <style>a { color: white; background-color: white; } a:visited { color: black; }</style>
  <body><a href="https://example.com/abracadabra" onclick="return false">you are a bad person</a>
[1] https://developer.mozilla.org/en-US/docs/Web/CSS/:visited#pr...