ߺ α

Ҵ   
   ȸ 15248   õ 0     õ 0    

파일 세션일 때와 db 세션일 때, 모두 다 보완 했습니다.
파일 세션의 경우에는 g4_login을 이용하기 때문에 완벽차단은 안됩니다.
 
bbs/login_check.php
 
// 불당팩 - 중복로그인 방지
if ($config['cf_double_login'] && $mb_id) {
    // db session을 사용하는 경우
    // $use_db_session은 common.php에서 정의
    if ($use_db_session) {
        $sql = "select * from $g4[session_table] where mb_id = '$mb[mb_id]' and ss_ip != '$remote_addr' and ss_datetime > '$login_time' ";
        $sql.= "order by ss_datetime desc limit 1";
       
            $login_time = date("Y-m-d H:i:s", $g4[server_time] - 60*10); // 10분
            $sql = " SELECT * from $g4[session_table]
                      WHERE mb_id = '$mb[mb_id]' and ip_addr != '$remote_addr' and ss_datetime > '$login_time' ";
            // ip를 고려하지 않는 경우 (새창을 띄우거나 불여우와 ie를 함께 사용하면 중복 로그인 오류가 나옵니다)
            //$sql = " SELECT * from $g4[session_table] where mb_id = '$mb[mb_id]' and ss_datetime > '$login_time'  ";
            $result = sql_query($sql);
       
            if (mysql_num_rows($result) > 0) {
                alert("다른 ip에서 이미 로그인되어 있습니다. 관리자에게 문의하시기 바랍니다.");
            }
    }
    // 파일세션을 사용하는 경우
    else {
        $result = sql_fetch(" select count(*) as cnt from $g4[login_table] where mb_id='$mb[mb_id]' and lo_ip <> '$_SERVER[REMOTE_ADDR]' ");
       
        if ($result['cnt'] > 0) {
            alert("다른 ip에서 이미 로그인되어 있습니다. 관리자에게 문의하시기 바랍니다.");
        }
    }
}
- opencode.co.kr -


Page 10/28
2011-11   15348   Ҵ
2011-10   14218   Ҵ
2011-10   14094   Ҵ
2011-10   14405   Ҵ
2011-10   15249   Ҵ
2011-10   13195   Ҵ
2011-10   14275   Ҵ
2011-10   14362   Ҵ
2011-10   18198   Ҵ
2011-10   14843   Ҵ
2011-10   14070   Ҵ
2011-10   14169   Ҵ
2011-10   13156   Ҵ
2011-10   15293   Ҵ
2011-10   11074   Ҵ
2011-10   12921   Ҵ
2011-10   10459   Ҵ
2011-10   11584   Ҵ
2011-10   11523   Ҵ
2011-10   19466   Ҵ