怎么根据当前网址的来路如果不是指定的来路就跳转到指...

[复制链接]
查看: 550   回复: 7
发表于 2013-10-24 20:08:38 | 显示全部楼层 |阅读模式
怎么根据当前网址的来路如果不是指定的来路就跳转到指定页面?
在网上搜了好多,代码如下:
  1. <script type="text/javascript">
  2. if(self!=top){top.location=self.location;}
  3. var ref=document.referrer;
  4. var domains=new Array("jb51.net/","jb51.cn/","jb51.com.cn/");
  5. var refpass=false;
  6. for(i=0;i<=domains.length;i++){if(ref.indexOf(domains[i])>0){refpass=true;break;}}
  7. if(ref==""){refpass=true}
  8. if(!refpass){window.location.;}
  9. </script>
复制代码
自己改了相应的域名参数,但是好像没有效果,有没有高手指点一下,不甚感激!怎么根据当前网址的来路如果不是指定的来路就跳转到指...

发表于 2013-10-24 21:05:49 | 显示全部楼层
if(refpass){window.location='http://www.baidu.com';}
回复 支持 反对

使用道具 举报

发表于 2013-10-25 00:18:47 | 显示全部楼层
    <script type="text/javascript">
    if(self!=top){top.location=self.location;}    //这句看不懂
    var ref=document.referrer;
    var domains=new Array("jb51.net/","jb51.cn/","jb51.com.cn/");
    var refpass=false;
    for(i=0;i<=domains.length;i++){if(ref.indexOf(domains)>0){refpass=true;break;}} //这句也看不懂
    if(ref==""){refpass=true}
    if(!refpass){window.location.;}
    </script>


。。。 JS代码还要熟悉啊。。。
回复 支持 反对

使用道具 举报

发表于 2013-10-25 08:06:08 | 显示全部楼层
以前做CS时试过,如果是指定域名过来的流量跳转到CS页面,如果是外来流量跳转到其它正常页面。说一下大体思路,具体程序网上查查就能找到。
PHP语言的话,可以使用 echo $_SERVER['HTTP_REFERER']来获取来源网址,然后使用if 语句判断,符合要求就 使用 Header (location) 语句跳转, else 则跳转到其它url

回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-25 09:45:34 | 显示全部楼层
luguokankan 发表于 2013-10-24 21:05 怎么根据当前网址的来路如果不是指定的来路就跳转到指...
if(refpass){window.location='http://www.baidu.com';}

谢谢,问题已经解决,IE Firefox 在进行META跳转时请求头中document.referrer为空,chrome可以,测试效果并不好,还是用HTTP 302 跳转试试~

回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-25 09:46:48 | 显示全部楼层
Seanhere 发表于 2013-10-25 08:06 怎么根据当前网址的来路如果不是指定的来路就跳转到指...
以前做CS时试过,如果是指定域名过来的流量跳转到CS页面,如果是外来流量跳转到其它正常页面。说一下大体思 ...

谢谢,用你的方法试试怎么根据当前网址的来路如果不是指定的来路就跳转到指...

回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-25 09:47:57 | 显示全部楼层
熟能生巧哇 发表于 2013-10-25 00:18 怎么根据当前网址的来路如果不是指定的来路就跳转到指...
if(self!=top){top.location=self.location;}    //这句看不懂
    var ref=document.referrer;
  ...

以前没学过JS,看了半天也只能看个大概怎么根据当前网址的来路如果不是指定的来路就跳转到指...

回复 支持 反对

使用道具 举报

发表于 2013-10-26 08:36:25 | 显示全部楼层
熟能生巧哇 发表于 2013-10-25 00:18 怎么根据当前网址的来路如果不是指定的来路就跳转到指...
if(self!=top){top.location=self.location;}    //这句看不懂
    var ref=document.referrer;
  ...

if(self!=top){top.location=self.location;}    //这句看不懂

这个是判断你的网站(self)是否被其他网站(parent)iframe,如果是的话,突破iframe, 让parent载入self网站.

这种叫frame buster, 貌似可以突破的.

---

for(i=0;i<=domains.length;i++){if(ref.indexOf(domains)>0){refpass=true;break;}} //这句也看不懂

仔细一看,发现有个错误.应当是这样.
if(ref.indexOf(domains)>0

这个循环是判断referrer是否来自domains数组中的任一个域名.


回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则