你在被限制访问的页面中用 Request.ServerVariables ("http_referer") 来判断来源页面, 如果不是链接所在的页面, 则禁止访问

解决方案 »

  1.   

    楼上的能详细解答下吗?我是用PHP的,谢谢了
      

  2.   

    $_SERVER["HTTP_REFERER"]
    在php中,但在iis上好像不行...
      

  3.   

    你在点击事件事 处理一个cookie值来控制
      

  4.   

    这样不晓得满足你得要求不
    ========================<SCRIPT LANGUAGE='JavaScript1.1' SRC='http://smarttrade.allyes.com/main/adfshow?user=1|1653|6618&db=smarttrade&border=0&local=yes&js=ie'></SCRIPT><script language=javascript>
    var clicked = false;
    function aClick()
    {
    alert("aaa");
    clicked = true;
    }
    var a = document.getElementsByTagName("a")
    a[0].attachEvent("onclick",aClick)</script><br><a href="http://www.csdn.net" onclick="return clicked">这里是你的链接</a>
      

  5.   

    或着你在aClick()中通过iframe设置个session,然后在你得别得页面里检查session,当然cookie也可以,这样做比我上面得保险一点
      

  6.   

    if ($_SERVER['HTTP_REFERER'] != "你的链接地址")
       echo "访问拒绝";
    else
       ......
      

  7.   

    $_SERVER['HTTP_REFERER']判断来源 是则继续,不是正返回。
      

  8.   

    各位老大可能误解我的意思了<SCRIPT LANGUAGE='JavaScript1.1' SRC='http://smarttrade.allyes.com/main/adfshow?user=1|1653|6618&db=smarttrade&border=0&local=yes&js=ie'></SCRIPT>加到HTML页面中他会产生一个link,而且里面的参数会变化的,看HTML代码不会产生<a href...>之类的,即不可能加<a href...>你把上面的JS代码加到HTML页面中看效果就明白了各位老大还有些更好的方法吗?给个思路也成
      

  9.   

    这样吧,如果用户点击了这个链接,就记录一个cookie在客户端,然后通过判断cookie有没有记录,来决定他是否可以访问资源
      

  10.   

    这个代码不可以吗?
    -----------------------------------
    <SCRIPT LANGUAGE='JavaScript1.1' SRC='http://smarttrade.allyes.com/main/adfshow?user=1|1653|6618&db=smarttrade&border=0&local=yes&js=ie'></SCRIPT><script language=javascript>
    var clicked = false;//这里声明了一个全局变量,就是检测他得值来判断上面的脚本生成的链接有没有被点击
    function aClick()//这个函数是用来在上面的脚本生成的链接的时候修改clicked 变量
    {
    clicked = true;
    }var a = document.getElementsByTagName("a")
    a[0].attachEvent("onclick",aClick)//这里是为那个链接添加click事件</script><!--下面这个链接表示你的资源,在他的onclick检测那个全局变量来确定是否可以访问-->
    <br><a href="http://www.csdn.net" onclick="return clicked">这里是你的链接</a>建议你结合session或cookie来做,不要只通过脚本控制,以防止别人查看源文件得到地址
      

  11.   

    首先,使用http_referer是不行的
    比如楼主给出的例子是一个广告连接,用户不可能通过广告页面进入到本站的资源一种可能的解决方案是:
    所有受保护的连接采用js函数连接
    在该函数中判断是否点击了必点连接按楼主提供的代码,可以这样做:
    <!-- 装入广告连接 -->
    <SCRIPT LANGUAGE='JavaScript1.1' SRC='http://smarttrade.allyes.com/main/adfshow?user=1|1653|6618&db=smarttrade&border=0&local=yes&js=ie'></SCRIPT>
    <!-- 控制用脚本 -->
    <script>
    t = "http://smarttrade.allyes.com/main/adfclick"; //识别标志
    mode = 0; //控制变量
    document.onclick = like_check; //监听点击事件
    //监听点击事件函数
    function like_check() {
      var el = event.srcElement; //取得发生事件的节点
      if(el.tagName == "A" && el.href.substr(0,t.length)==t) { //如果是连接且目标与识别标志相同
        mode = 1; //设置已点击状态
      }
    }
    //有受保护的连接驱动
    function entern(p) {
      if(mode) //如果状态已置位
        location = p; //转向连接
      else
        alert("请先点击‘注册有奖,送你千元’"); //否则发出提示
    }
    </script>
    <a href="http://......">普通连接</a>
    <a href="#" onclick="entern('....')">保护连接</a>应该能看明白吧
      

  12.   

    awaysrain的可以,我回去想想怎么使安全性更高点,谢谢了如果问题解决了,明天结贴
      

  13.   

    <SCRIPT language=JavaScript>
    var pissoff = "请先点击任意一个广告"
    allow = 0;
    function Go(link)
    {
    if(link==1)
    {
    allow=1;
    }else{
    if(allow==1)
    {
    var mypage = "down.php?id="+link;
    window.location = mypage;
    }else{
    alert(pissoff);
    }
    }
    }
    //--->
    </SCRIPT><table border="0" cellspacing="0" cellpadding="0" align="center">
      <tr> 
        <td onmousedown=javascript:Go(1)> 
          <div align="center<SCRIPT LANGUAGE='JavaScript1.1' SRC='http://smarttrade.allyes.com/main/adfshow?user=1|1653|6618&db=smarttrade&border=0&local=yes&js=ie'></SCRIPT></div>
        </td>
    </table>