[첫화면으로]UseModWiki소스수정/자동로그인

마지막으로 [b]

로그인할 때 자동 로그인 여부를 선택할 수 있게 함

sub GetHttpHeader {
    my $cookie;
    my $t;

    $t = gmtime;
    if (defined($SetCookie{'id'})) {
### 다음 단락을 교체
#       $cookie = "$CookieName="
#                       . "rev&" . $SetCookie{'rev'}
#                       . "&id&" . $SetCookie{'id'}
#                       . "&randkey&" . $SetCookie{'randkey'};
#       $cookie .= ";expires=Fri, 08-Sep-2010 19:48:23 GMT";

        $cookie = "$CookieName="
            . "expire&" . $SetCookie{'expire'}
            . "&rev&"   . $SetCookie{'rev'}
            . "&id&"    . $SetCookie{'id'}
            . "&randkey&" . $SetCookie{'randkey'}
            . ";";
        if ($SetCookie{'expire'} eq "1") {
            $cookie .= "expires=Tue, 31-Dec-2030 23:59:59 GMT";
        }
### 여기까지
        if ($HttpCharset ne '') {
    ...
}
sub DoEnterLogin {
    ...
    print '<br>', T('Password:'), ' ',
                $q->password_field(-name=>'p_password', -value=>'',
                                                     -size=>15, -maxlength=>50);
### 다음 라인 삽입
    print '<br>', &GetFormCheck('expire', 0, T('Keep login information'));
###
    print '<br>', $q->submit(-name=>'Login', -value=>T('Login')), "\n";
    ...
}
sub DoLogin {
    ...
#       if (defined($UserData{'password'}) &&                # 이 두 줄은 원래 코드
#               ($UserData{'password'} eq $password)) {      
        if (defined($UserData{'password'}) &&                # 이 두 줄은 '암호를 암호화해서 저장' 패치의 코드
                (crypt($password, $UserData{'password'}) eq $UserData{'password'})) {
### 다음 단락 삽입
            my $expire_mode = &UpdatePrefCheckbox("expire");
            if ($expire_mode eq "") {
                $SetCookie{'expire'} = 1;
            } else {
                $SetCookie{'expire'} = $expire_mode;
            }
### 여기까지
            $SetCookie{'id'} = $uid;
            $SetCookie{'randkey'} = $UserData{'randkey'};
            $SetCookie{'rev'} = 1;
            $success = 1;
    ...
}

Notes

UpdatePrefCheckbox 와 GetParam 의 인자로 들어간 "p_expire" 를 "expire" 로 수정하였음. 두 함수 다 인자로 받은 스트링 앞에 "p_" 를 자동으로 붙여주기 때문에 "p_p_expire" 가 되어 버린다.
-- Raymundo 2003-2-12 4:06 pm

어느새 7년이 지났고 여전히 유즈모드를 쓰고 있으니... 2010년 9월 8일까지로 설정해둔 쿠키 유효시각이 지나버렸군요 ^^ 2030년으로 미뤘습니다. 그냥 저 값 바꾼 걸로 충분하겠죠?
-- Raymundo 2010-9-9 3:14 pm

위키위키분류

마지막 편집일: 2010-9-9 3:14 pm (변경사항 [d])
865 hits | Permalink | 변경내역 보기 [h] | 페이지 소스 보기