EEfaq论坛-赚客自留地

 找回密码
 免费注册
查看: 626|回复: 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 | 显示全部楼层

谢谢,问题已经解决,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数组中的任一个域名.


回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

QQ|联系我们|Archiver|手机版|小黑屋|EEfaq论坛

GMT+8, 2024-12-22 23:31

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表