Changing the value of referrer [duplicate]
Asked Answered
R

2

9

Possible Duplicate:
How to manually set REFERER header in Javascript?

How to change the value of document.referrer?

I tried this

<body>
<center><a href="test.php" target="_self">self</a></center>
<script type="text/javascript">
    alert( document.referrer);
    document.referrer="test";
    alert( document.referrer);
</script>
</body>

It is not working, any ideas?

Rem answered 4/1, 2013 at 19:10 Comment(4)
What are you trying to accomplish?Palacios
Seems similar to #9581075Argil
no you can't, due to prevent referrer spoofing #1268050Lymphangitis
look this #4146034Roussillon
S
9

You can't modify the referrer directly, but you can use history.pushState() / history.replaceState() to push a new URL into the browser history (provided the URL you want to push has the same domain), then when you navigate away, the new URL will be the referrer.

Please note that manipulating the history using pushState adds a new history entry, but the page being viewed stays the same, and the user will have to press their browser's "Back" button twice to go back one actual page.

However, if you use replaceState, coming back from the page you want to hide the referrer from will go to the newly set URL, so make sure that whatever you replace it with somehow redirects the user back to the original page instead of sending them to a 404 or a completely different page.

Sanctify answered 4/1, 2013 at 20:39 Comment(1)
Note that the pushState function is restricted to the same domain policy. Change the domain is not permitted.Tomaso
D
4

The property is read-only - which of course means you can't change it.

You can read more about it here:

Designate answered 4/1, 2013 at 19:20 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.