判断flg 
否的话  则 display=0
符合条件 也是display=0
当flg=1
则check 本地ip
然后判断是否是被限制的ip
这要如何写这段代码?请各位指导下,谢谢

解决方案 »

  1.   


    $flag=true;
    $limit_ip=array('127.0.0.1');
    if($flag)
    {
    $display=0;
    $get_ip=$HTTP_SERVER_VARS['REMOTE_ADDR'];
    if(in_array($get_ip,$limit_ip))
    {
    echo 'your ip in array';
    }
    else 
    {
    echo 'no';
    }
    }
      

  2.   


    $limit_arr = array(ip1,ip2);
    if($flg==1)
        if(in_array($_SERVER['REMOTE_ADDR'],$limit_arr))
            echo '受限制的IP';
        else
            echo 'IP通过';
    else
        $display=0;
      

  3.   

    取本地 ip 用的是这段代码
    function get_client_ip() {
      global $_SERVER;
      if (isset ($_SERVER["HTTP_X_FORWARDED_FOR"])) {
       $realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
      }
      elseif (isset ($_SERVER["HTTP_CLIENT_IP"])) {
       $realip = $_SERVER["HTTP_CLIENT_IP"];
      } else {
       $realip = $_SERVER["REMOTE_ADDR"];
      }
      return $realip;
     }
    check ip用的是
    $sql = "select CUSTOMER  from CB_SFA_COMMON order by IP_CHECK_LIST where CUSTOMER_CD =$customer_inf['CUSTOMER_CD']";
     $iplist=$conn->GetAll($sql);
       
       $realip = $this->get_client_ip();
       if ($realip == $iplist ) {
           header("Location:index.php?cake=admin&module=login&mode=login_error");
       } else {
       
       
       
       return;
       }
    则么改成display??请指教
      

  4.   

    require_once('DB/CUSTOMER.class.php');
    $db_cst = & new DB_CUSTOMER($connection);
    $customer = array();
    $ccd = $request->getParameter('c');
    $list = array('DB_HOST', 'DB_PORT', 'DB_USER', 'DB_PASS', 'DB_NAME', 'CUSTOMER_NAME', 'FTP_USER', 'FTP_PASS','IP_CHECK_FLG');
    if (!$db_cst->select($customer, $ccd, $list)) {
    $request->setError('LOGIN_ERR_INVALID_URL');
    return false;
    }
    else{
    if ($customer['IP_CHECK_FLG'] == 1) {
    // 判断IP 
            function get_client_ip() {
            global $_SERVER;
            if (isset ($_SERVER["HTTP_X_FORWARDED_FOR"])) {
            $realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
            }
            elseif (isset ($_SERVER["HTTP_CLIENT_IP"])) {
            $realip = $_SERVER["HTTP_CLIENT_IP"];
            } else {
            $realip = $_SERVER["REMOTE_ADDR"];
                   }
            return $realip;
                   }
    }
    }
    在这段代码中,如何加一个取出本地IP后,再判断字段IP_CHECK_LIST中是否有符合的值,没有则跳转道其他叶面
      

  5.   

    现在已经修改为
    require_once('DB/CUSTOMER.class.php');
    $db_cst = & new DB_CUSTOMER($connection);
    $customer = array();
    $ccd = $request->getParameter('c');
    $list = array('DB_HOST', 'DB_PORT', 'DB_USER', 'DB_PASS', 'DB_NAME', 'CUSTOMER_NAME', 'FTP_USER', 'FTP_PASS','IP_CHECK_FLG');
    if (!$db_cst->select($customer, $ccd, $list)) {
    $request->setError('LOGIN_ERR_INVALID_URL');
    return false;
    }
    else{
    if ($customer['IP_CHECK_FLG'] == 1) {        global $_SERVER;
             if (isset ($_SERVER["HTTP_X_FORWARDED_FOR"])) {
             $realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
             print_r($realip);
            
             }
              elseif (isset ($_SERVER["HTTP_CLIENT_IP"])) {
             $realip = $_SERVER["HTTP_CLIENT_IP"];
            
             } else {
             $realip = $_SERVER["REMOTE_ADDR"];
             print_r($realip);
            
                }
    }
    if ($realip == $customer['IP_CHECK_LIST']){

    $a=1;
    }
    else {
    $a=0;
    }
    }
    然后在smarty中
    $smarty->assign('IP_CHECK_LIST',$a);
    $smarty->display('login.tpl');再tpl中该如何做判断?1的话则多给一个填写框
    tpl代码为:
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="Content-Style-Type" content="text/css" />
    <title>サイボウズ(R) ドットセールス(TM)|ログイン画面</title>
    <link href="{$LINK_ROOT}/css/login.css" rel="stylesheet" type="text/css" />
    <link rel="shortcut icon" href="{$LINK_ROOT}/images/sales_favicon.ico" >
    <script language="javascript" src="{$LINK_ROOT}/js/{$LANG_DIR}/std.js" type="text/javascript"></script>
    </head><body>
    <div class="base">
    <div class="base-top"><img src="{$LINK_ROOT}/images/login_01.png" alt="" width="630" height="73" border="0" usemap="#Map" /></div>
    <div class="base-l"><img src="{$LINK_ROOT}/images/login_02.png" alt="" width="34" height="212" /></div>
    <div class="base-c"><form name="LoginForm" action="{$PHP_SELF}" method="post">
    <input type=hidden name="action" value="LoginDo">
    <input type=hidden name="ccd" value="{$CCD|escape}"><table width="562" height="212" border="0" cellpadding="0" cellspacing="0">
      <tr>
      <td class="login-tx">
      <div class="name">{$CUSTOMER_NAME|escape|nl2br}</div>
      ログイン名
      <label>
      <input name="_ID" type="text" size="30" style="width:15em;" value="{$ID|escape}">
      </label>
      </p>
      <p>パスワード
      <label>
      <input name="Password" type="Password" size="30" style="width:15em;" />
      </label>
      </p>
      <p>
      <input type="checkbox" name="id_save" id="checkbox" value="1" {if $ID neq ''}checked{/if}><label for="checkbox" onMouseOver="this.style.color='#0000CC'" onMouseOut="this.style.color=''"> 次回もこのログイン名を使用する</label>
      </p>
      <label>
      <input type="submit" name="Submit" value=" ログイン " onclick="trimForm(this.form);"/>
      </label>
      </td>
      </tr>
    </table>
    </form>
    该如何修改?
      

  6.   


    $limit_ip=array($ip1,$ip2);
    $remote_ip=$HTTP_SERVER_VARS['REMOTE_ADDR'];if($flg==1){
        if(in_array($remote_ip,$limit_ip){echo "恭喜发财!";}
        else{echo "<script>window.history.back();</script>";}
    }
    else{
        echo "<script>alert('中病毒了!请下载熊猫烧香进行系统杀毒!');</script>";
    }
      

  7.   

    能否在上面的tpl中增加一个判断,当$a=1的时候有验证马框,$a=0的时候,一切从旧