php网站,要求外网用户看不到部分模块。不用登陆来区分内外网用户,而考虑用ip地址区分内外网用户。就是获取访问客户端的ip,如果是外网ip,网站首页部分模块不可见;如果是内网ip,网站内容都可见。
   这种设想是否可以做到?怎样做?

解决方案 »

  1.   

    方法一,如果是双网卡,配置两个站点,分别绑定内外网卡。
    方法二,在程序中获取IP,判断IP是否192.168....或其它内网地址。function get_ip()
    {
    $return = '';
    if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
    $return = getenv('HTTP_CLIENT_IP');
    } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
    $return = getenv('HTTP_X_FORWARDED_FOR');
    } elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
    $return = getenv('REMOTE_ADDR');
    } elseif(!empty($_SERVER['REMOTE_ADDR']) && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
    $return = $_SERVER['REMOTE_ADDR'];
    }
    return $return;
    }