比如 我的网站是www.1.com只允许 yx.1.com 的二级域名访问直接输入www.1.com和其他的来路都不可以访问 请问这段代码如何写呢

解决方案 »

  1.   

    可以用这个变量:
    $_SERVER['HTTP_HOST']
    就是访问的域名,你做相应判断处理就好了。
      

  2.   


    if(!isset($_SERVER['HTTP_HOST']) || $_SERVER['HTTP_HOST']!='yx.1.com'){
        exit('no premission');
    }else{
        echo 'ok';
    }
      

  3.   

    版主大大不行啊 我来自于yx.1.com的也提示no premission
      

  4.   

    在代码前加上print_r($_SERVER);exit;
    然后把结果贴上来看看
      

  5.   

    if(empty($_SERVER['HTTP_REFERER']) 
      || ! in_array(parse_url($_SERVER['HTTP_REFERER'])['host'], ['www.1.com', 'yx.1.com'])) exit;
      

  6.   

    试试这样。if(!isset($_SERVER['HTTP_REFERER']) || $_SERVER['HTTP_REFERER']!='yx.1.com'){
        exit('no premission');
    }else{
        echo 'ok';
    }改这样if(!isset($_SERVER['HTTP_REFERER']) || parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST)!='yx.1.com'){
        exit('no premission');
    }else{
        echo 'ok';
    }
      

  7.   

    你是说主域名只能从二级域名页面链接点击访问?我理解错了
    那得用HTTP_REFERER来判断来。楼上已经有代码了。
      

  8.   

    可以根据来源来判断if(!isset($_SERVER['HTTP_REFERER']) || $_SERVER['HTTP_REFERER']!='yx.1.com'){
        exit('no premission');
    }else{
        echo 'ok';
    }