로그인할 때 자동 로그인 여부를 선택할 수 있게 함
- 기존에는 명시적으로 로그아웃 하지 않으면 로그인정보가 계속 남아 있어서, PC방 등에서 이용할 때 문제의 소지가 있었다
- 로그인 할 때, 다음 번에 자동으로 로그인 할 것인지 여부를 선택할 수 있는 체크박스를 추가하였다.
- Bab2 님의 패치를 적용
- 부작용: 아직 모름
- Bab2님이 /사용자의견에 적어줄 때 '잘 모르면서 작성한 것'이라 하셨고, 주인장 역시 잘 모른채로 옮겼으니... 문제가 될 부분을 발견하면 제보해 주기 바람. :-)
-
sub GetHttpHeader {
my $cookie;
my $t;
$t = gmtime;
if (defined($SetCookie{'id'})) {
$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'}) &&
(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" 가 되어 버린다.
어느새 7년이 지났고 여전히 유즈모드를 쓰고 있으니... 2010년 9월 8일까지로 설정해둔 쿠키 유효시각이 지나버렸군요 ^^ 2030년으로 미뤘습니다. 그냥 저 값 바꾼 걸로 충분하겠죠?
위키위키분류