In my site I have a password protected page containing some links to other sites also operated by myself that cannot be password protected. I would like to place a HTML code onto one of the other sites I operate that checks that the person arriving at the page has been referred from the URL of the 'Links Page'.
(I understand that this is not a secure option)
Summary:
If Referrer = 'Links Page URL' *then* Do nothing *Else* Redirect: www.google.com.
Does anyone know a simple HTML/ Javascript code that I can copy and paste into my site?
if (document.referrer !== "http://www.stackoverflow.com") {
window.location.href = "http://www.google.com";
}
Or you can use regular expressions to check the referrer.
Anyway, this solution is really, really unsafe. You can just turn off JavaScript in your browser and won't be redirected...
Try this
function url(url){
return url.match(/:\/\/(.[^/]+)/)[1];
}
function check()
{
var ref = document.referrer;
if(url(ref) =='www.google.com')
{
// do something
}
else
{
// redirect
window.location.href = 'http://yourDomain.com';
}
}
I found document.referrer doesn't work for me, but location.href works:
if (location.href != "http://yoursite/index.html") {
location.replace("http://yoursite/index.html");
}
来源:https://stackoverflow.com/questions/20502908/redirect-based-on-referrer-url