问题
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?
回答1:
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...
回答2:
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';
}
}
回答3:
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