1

주제: 불특정하게 로그인이 안되네여???

OS : Windows2000 Server SP4
APM6 (Apache2.2.8 + PHP5.2.5 + MySQL5.0.51a) <- Apache + PHP만 사용.
DB : MySQL4.1.22
Textcube : 1.6.3 확장판

위 환경에서 비공개 다중 블로그로 세팅하여 사용중입니다.

그런데, 로그인 정보 입력후 엔터키를 누르면

불특정하게 "[3] 권한이 없습니다." 라는 문구와 함께 로그인이 안됩니다.
(소스 맨 아래에서 세팅하는 $message 가 출력됨.)

로그인 버튼을 마우스 클릭하면 현재까지는 위의 문제는 없었지만,

엔터키를 누를때면 불특정하게 발생합니다.

소스 맨 아래에 있는 "$message = _text('[3] 권한이 없습니다.');" 구문을 주석으로 제거하니,

중간 좀 아래에서 세팅하는 "[2-$isLogin] 권한이 없습니다." 문구가 출력 되더라구요.

분명 동일한 id/pw인데 불특정하게 로그인이 안되네여.

php를 처음 첩하다 보니 소스 분석하기가 힘드네여^^;;;;



아래는 현재 운영중인 소스입니다.

--------------------------------------------------------------------------------------------------------------------
<?php
/// Copyright (c) 2004-2008, Needlworks / Tatter Network Foundation
/// All rights reserved. Licensed under the GPL.
/// See the GNU General Public License for more details. (/doc/LICENSE, /doc/COPYRIGHT)
$IV = array(
    'GET' => array(
        'loginid' => array('string', 'mandatory' => false ),
        'password' => array('string', 'default' => null),
        'requestURI' => array('string', 'default' => null ),
        'refererURI' => array('string', 'default' => null ),
        'session' => array('string' , 32, 32, 'default' => null),
        'try' => array(array(1,2,3), 'default' => null),
    ),
    'POST' => array(
        'loginid' => array('string', 'default' => null),
        'password' => array('string', 'default' => null),
        'requestURI' => array('string', 'default' => null),
        'refererURI' => array('string', 'default' => null),
        'reset' => array(array('on') ,'default' => null),
        'save' => array('any', 'default' => null),
        'teamblogPatch' => array('string', 'default' => null)
    )
);
define('__TEXTCUBE_LOGIN__',true);
require ROOT . '/lib/includeForBlog.php';
$blogURL = getBlogURL();
if (isset($_GET['loginid']))
    $_POST['loginid'] = $_GET['loginid'];
if (isset($_GET['password']))
    $_POST['password'] = $_GET['password'];
if (!empty($_GET['requestURI']))
    $_POST['requestURI'] = $_GET['requestURI'];
else if (empty($_POST['requestURI']) && !empty($_SERVER['HTTP_REFERER']) )
    $_POST['requestURI'] = $_SERVER['HTTP_REFERER'];
else
    $_POST['requestURI'] = $blogURL;
if (!empty($_GET['refererURI'])) $_POST['refererURI'] = $_GET['refererURI'];
else $_POST['refererURI'] = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';

$message = '';
$showPasswordReset = false;
if (isset($_GET['session']) && isset($_GET['requestURI'])) {
    header('Set-Cookie: TSSESSION=' . $_GET['session'] . '; path=/; domain=' . $_SERVER['HTTP_HOST']);
    header('Location: ' . $_GET['requestURI']);
    exit;
} else if (!empty($_POST['loginid']) && !empty($_POST['reset'])) {
    if (resetPassword($blogid, $_POST['loginid']))
        $message = _text('지정된 이메일로 로그인 정보가 전달되었습니다.');
    else
        $message = _text('[1] 권한이 없습니다.');
} else if (!empty($_POST['loginid']) && !empty($_POST['password'])) {
    $isLogin = login($_POST['loginid'],$_POST['password']);
    if (!$isLogin) {
        $message = _text('E-MAIL 또는 비밀번호가 틀렸습니다.');
        if (!doesHaveMembership() && isLoginId(getBlogId(), $_POST['loginid'])){
            $showPasswordReset = true;
        }
    } else if($isLogin == 2) {
        $message=_t('[2-$isLogin] 권한이 없습니다.');
    }
}
$authResult = fireEvent('LOGIN_try_auth', false);

if (doesHaveOwnership() || doesHaveMembership()) {
    if (doesHaveOwnership() && !empty($_POST['requestURI'])) {
        $url = parse_url($_POST['requestURI']);
        if ($url && isset($url['host']) && !String::endsWith( '.' . $url['host'], '.' . $service['domain']))
            $redirect = "{$blogURL}/login?requestURI=" . rawurlencode($_POST['requestURI']) . '&session=' . rawurlencode(session_id());
        else
            $redirect = $_POST['requestURI'];
} else if (doesHaveMembership()) {
        global $blogURL;
        $redirect = $_POST['requestURI'];
//        $redirect = $_POST['refererURI'];
//        $redirect = $blogURL;
//    } else {
//        global $blogURL;
//        $redirect = $_POST['requestURI'];
//        $redirect = $blogURL;
}
    if (empty($_SESSION['lastLoginRedirected']) || $_SESSION['lastLoginRedirected'] != $redirect) {
        header('Location: '.($_SESSION['lastLoginRedirected'] = $redirect));
        exit;
    } else {
        unset($_SESSION['lastLoginRedirected']);
    }
    $message = _text('[3] 권한이 없습니다.');
}
?>
--------------------------------------------------------------------------------------------------------------------

2

답글: 불특정하게 로그인이 안되네여???

추가로 소스에 대한 자세한 설명을 부탁드려도 될까요?

3

답글: 불특정하게 로그인이 안되네여???

2차도메인이 설정되어 있을 때, 로그인이 안되는 버그가 있어 몇차례 수정이되었고, 1.7.x에 반영이 되어 있습니다. 1.7.x로 업그레이드를 해주실 수 있을까요?

4

답글: 불특정하게 로그인이 안되네여???

현재 운영중인 서비스를 제가 임시로 맡아서 하는거라....
업그레이드는 왠지.....ㅎㄷㄷ ^^;;;;;
버그 수정부분만 패치할수 있는 방법은 없을까요?