传个session过去判断下可以不?

解决方案 »

  1.   

    a.htm
    <html>
    <head>
    <script src="b.php" language="javascript">
    </script>
    </head>
    <body>
    </body>
    </html>b.php
    <?php
    #$_SERVER['HTTP_REFERER']表示链接到当前页面的前一页面的 URL 地址。
    $fromLink = substr($_SERVER['HTTP_REFERER'], -5);#determine whether $fromLink equals to "a.htm"
    if($fromLink != "a.htm")
     echo "no";
    else 
     echo "yes";
    ?>
      

  2.   

    是的,如楼上所说,取得上页地址,匹配后打开。否则die('access died ')
      

  3.   

    <script src="11.php?test=1" language="javascript"></script>传个参数是不是可以实现。
      

  4.   

    感谢wingsofsky的回复,但我试过了,如果先打开a.htm,原后在地址栏将地址改为b.php还是显示的yes
      

  5.   

    理论上不可能,因为你嵌入HTML,浏览器就是两次访问,相当于直接输入网址访问可以鉴别一下refer等参数,但是效果不好,除非改变你调用方式
      

  6.   

    这种方法我是在网上看到的,别人是怎么实现的呢如:http://v.mxabc.com/e/ty/200701/60256.shtml里面包含的<script type="text/javascript" language="javascript" src="http://v.mxabc.com/play_detail.asp?id=60256"></script>可以正常运行,但打开http://v.mxabc.com/play_detail.asp?id=60256的话就显示不了
      

  7.   

    http://v.mxabc.com/play_detail.asp?id=60256Response Headers
    Date Fri, 23 Nov 2007 15:28:26 GMT
    Server Microsoft-IIS/6.0
    Pragma no-cache
    Cache-Control private, no-cache
    Content-Length 1130
    Content-Type text/html
    Expires Thu, 22 Nov 2007 15:28:00 GMT
    Set-Cookie ASPSESSIONIDQABBRCTS=BGGFKIHDBLKADAOOFEJJMPFL; path=/Request Headers
    Host v.mxabc.com
    User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9
    Accept */*
    Accept-Language zh-cn,zh;q=0.5
    Accept-Encoding gzip,deflate
    Accept-Charset gb2312,utf-8;q=0.7,*;q=0.7
    Keep-Alive 300
    Connection keep-alive
    Referer http://v.mxabc.com/e/ty/200701/60256.shtml这是抓到的头,希望能对你有帮助
      

  8.   

    所有你见到的,都是初级的防范,,,伪造HTTP头,完全模拟了就一点辙都没有了如果你想做初级防范的化,楼上面许多朋友的建议都很有价值的
      

  9.   

    apache好像带一个功能模块,直接打开无效,需要从本站的某个页面才行。
      

  10.   

    ($_SERVER['HTTP_REFERER'] == "a.html") or die("I Love this game")改成正则
      

  11.   

    除了$_SERVER['HTTP_REFERER']判断没有其它方法吗,用$_SERVER['HTTP_REFERER']没什么用,当用户从a.html进入将地址改成b.php时,b.php同样会运行
      

  12.   

    if (basename($HTTP_SERVER_VARS['PHP_SELF']) == "b.php") {
       header("HTTP/1.0 404 Not Found");
    }
    禁止直接从浏览器访问