Javascript 基于参考URL的重定向
在我的网站上,我有一个密码保护的页面,其中包含一些指向其他网站的链接,这些网站也是我自己操作的,不能被密码保护。我想把一个HTML代码放在我操作的其他网站上,检查到达页面的人是否已从“链接页面”的URL引用 (我理解这不是一个安全的选择) 摘要:Javascript 基于参考URL的重定向,javascript,html,redirect,referrer,refer,Javascript,Html,Redirect,Referrer,Refer,在我的网站上,我有一个密码保护的页面,其中包含一些指向其他网站的链接,这些网站也是我自己操作的,不能被密码保护。我想把一个HTML代码放在我操作的其他网站上,检查到达页面的人是否已从“链接页面”的URL引用 (我理解这不是一个安全的选择) 摘要: If Referrer = 'Links Page URL' *then* Do nothing *Else* Redirect: www.google.com. 有人知道一个简单的HTML/Javascript代码,我可以复制并粘贴到我的网站上吗
If Referrer = 'Links Page URL' *then* Do nothing *Else* Redirect: www.google.com.
有人知道一个简单的HTML/Javascript代码,我可以复制并粘贴到我的网站上吗
if (document.referrer !== "http://www.stackoverflow.com") {
window.location.href = "http://www.google.com";
}
或者您可以使用正则表达式来检查推荐人
无论如何,这个解决方案是非常非常不安全的。您只需关闭浏览器中的JavaScript,就不会被重定向…试试这个
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';
}
}
我发现document.referer不适用于我,但location.href适用于:
if (location.href != "http://yoursite/index.html") {
location.replace("http://yoursite/index.html");
}
这并不能回答问题,因为
location.href
获取当前页面的URL,而不是OP请求的引用页面的URL。我为此投了反对票。