글 수 151
2005.12.05 10:12:53 (*.105.151.3)
7275
6 / 0

zbirthday 개발자입니다.

어제 사용자 한분의 메일을 받고 원인 분석 중에 zeroboard에서 1970 이전
생일자와 관련된 문제가 있다는 것을 알았습니다. 관련하여 이것저것 찾아
보았고, glibc의 mktime() 함수의 버전 문제 때문에 이런 일이 생긴다는 것
을 파악했습니다.

glibc를 mktime 함수를 사용하는 모든 시스템에서는 mktime 함수가 1970
년 이전을 -1로 반환 할 가능성이 있습니다. 결과적으로 glib 2.3.3 릴리즈는
1970년 이전을 -1로 처리합니다.

mktime.c v1.36 이후부터는 이 문제가 해결된 것으로 보입니다.

이런 이유로 1970년 1월 1일 이전 생일자에 대해서는 별도의 mktime 함수가
필요합니다. 편리하게 mktime() 함수를 wrapping 하여 쓸 수 있도록 만들
어보았습니다.

제로보드 4.1 pl4 기준입니다. 다른 버전을 사용하시는 분들은 글 맨아래의
수동 패치법을 참고하시기 바랍니다.

다운로드 하셔서 압축을 푸시고, 제로보드와 같은 디렉토리에 파일 5개를
복사해 넣으십시오. 그 다음에 아래와 같이 명령을 치시면 됩니다.

$ make patch

patch 외에도 편리를 위해 몇가지 기능을 더 넣었습니다.

본 패치가 마음에 안 드시거나 이상이 있으시면 make recover 하시면
됩니다. 충분히 안정화가 됐다고 생각하시면 make clean으로 설치 파일을
지우셔도 됩니다. make recover로 원상 복구 하실 일이 없다고 생각하시면
make delold 로 보관 파일을 없애시면 됩니다.

** 수동 패치 **

mktime() 함수가 사용된 부분을 찾아서 bw_mktime.php 를 include 하시고
bw_mktime() 함수로 바꿔주시면 됩니다.

$ fgrep -r mktime *

$birth=mktime(0,0,0,$birth_2,$birth_3,$birth_1);

이런 줄을 찾으셔서

include ("bw_mktime.php");
$birth=bw_mktime(0,0,0,$birth_2,$birth_3,$birth_1);

이렇게 바꿔주시면 됩니다.



수동으로 설치했습니다.. 저도 초보..

여튼.. 이거 잘되네요..

레벨1에서 다른 아이디 수정이 안되던데.. 그건 잘 모르겠고..원래그런건지..

자기 정보도 주정되고 70전 이전도 잘 입력되네요..

초보를 위해 방법을 말씀드리면..

우선 bw_mktime.php를 제로보드 디렉토리에 까시고..

제로보드 디렉토리의
member_join_ok.php
member_modify_ok.php

제로보드안 admin 디렉토리의
admin_exec_member.php

화일에서
$birth=mktime(0,0,0,$birth_2,$birth_3,$birth_1);
부분을 찾아서..

include ("bw_mktime.php");
$birth=bw_mktime(0,0,0,$birth_2,$birth_3,$birth_1);

이렇게 바꿔주니까 되내요..

그전에는 가상으로 가입시켜서 68년을 입력하면 모두 1970년 1월 1일로 나왔는데 말이죠..

^^;

그럼 모두 수고하세요..
번호
제목
글쓴이
151 제로보드에서 관리자 비번 분실시
오작교
2016-06-27 17137  
150 계정을 옮길 때
오작교
2008-11-25 25895  
149 제로보드의 변수 모음 정리
오작교
2008-07-24 53449  
148 참고로 할만한 제로보드 팁 공간가기
오작교
2008-01-11 22707  
147 제로보드 설치하기(이미지)
오작교
2007-11-13 23335  
146 스팸성 댓글 일괄 삭제하기(IP 방식) 1
오작교
2009-09-24 25444  
145 홈페이지 보안강화 도구(Castle) 보급안내 2
오작교
2009-09-14 17489  
144 최근 게시물 nowrap 적용하기
오작교
2009-08-30 20963  
143 활동 로그기록 남기기 2
오작교
2009-04-29 29642  
142 최근 갤러리(슬라이드 형) 스킨
오작교
2009-03-10 21270  
141 회원가입폼에서 생년월일 마우스로 선택하기 1
오작교
2009-03-10 21464  
140 회원가입 폼에서 한/영키를 누르는 수고를 없애기 1
오작교
2009-03-10 18928  
139 최근 게시물에 새코멘트 표시해주기
오작교
2009-03-10 19980  
138 회원가입 - 나이제한하기
오작교
2009-02-27 21069  
137 드롭메뉴에 관한 팁 하나 1
오작교
2009-02-27 19497  
136 2009. 02. 09 - 제로보드 4 보안 패치 p19
오작교
2009-02-27 19784  
135 비회원의 게시판 접근을 막기
오작교
2009-02-26 21497  
134 우리 홈 게시판 스팸 차단 1
오작교
2009-02-06 24190  
133 회원관리 페이지의 리스트 목록 늘리기
오작교
2008-12-19 18986  
132 zb4(Mysql 3.2)에서 zb4(Mysql 5)로 DB 백업본
오작교
2008-12-16 21370  

로그인