업로드 패스 버그

제로보드 버그 중에 다음과 같은 것이 있다.
(특정 버전 혹은 환경의)Internet Explorer에서 첨부파일을 업로드 할 경우, C:\Program_Files\Ahead\Nero_StartSmart\HLDS_ALL_GM.oem와 같이 주소가 통째로 복제된다.
이때 write_ok.php의 해당 함수에서 $HTTP_POST_FILEfile1name을 출력하면 다른 브라우저와 뚜렷히 차이를 보인다.

IE : C:\\Program_Files\\Ahead\\Nero_StartSmart\\HLDS_ALL_GM.oem
FF : HLDS_ALL_GM.oem

이때는 다음 행을 다음과 같이 치환한다.
write_ok.php:189:                $file1_name = $HTTP_POST_FILES[file1][name];
=>
write_ok.php:189:                $file1_name = basename(str_replace("\\\\","/",$HTTP_POST_FILES[file1][name]));

다시 시도하면 정상적으로 동작 할 것이다.
해당 버전은 4.1 pl6이다.

플래시 바로 나오게

/include/list_check.php의 138행,
                if(eregi("\.jpg",$file_name1)||eregi("\.gif",$file_name1)||eregi("\.png",$file_name1)) $upload_image1="<img src=$data[file_name1] border=0 name=zb_target_resize style=\"cursor:hand\" onclick=window.open(this.src)><br>";
                if(eregi("\.jpg",$file_name2)||eregi("\.gif",$file_name2)||eregi("\.png",$file_name2)) $upload_image2="<img src=$data[file_name2] border=0 name=zb_target_resize style=\"cursor:hand\" onclick=window.open(this.src)><br>";
다음과 같이 수정한다.
                if(eregi("\.jpg",$file_name1)||eregi("\.gif",$file_name1)||eregi("\.png",$file_name1)){ $upload_image1="<img src=$data[file_name1] border=0 name=zb_target_resize style=\"cursor:hand\" onclick=window.open(this.src)><br>";}elseif(eregi("\.swf",$file_name1)){ $upload_image1="<embed src=$data[file_name1] border=0><br>";}
                if(eregi("\.jpg",$file_name2)||eregi("\.gif",$file_name2)||eregi("\.png",$file_name2)){ $upload_image2="<img src=$data[file_name2] border=0 name=zb_target_resize style=\"cursor:hand\" onclick=window.open(this.src)><br>";}elseif(eregi("\.swf",$file_name2)){ $upload_image1="<embed src=$data[file_name2] border=0><br>";}

== 날짜 설정 (for skin "hayashi")==
입력한 날짜를 직접 설정 가능하게 하려면,
write_ok.php 141행의
$reg_date=time(); // 현재의 시간구함;;
행을
if(!$HTTP_POST_VARSreg_date) $reg_date=time();
else $reg_date=strtotime($HTTP_POST_VARSreg_date);

로그아웃 안될 경우

문제 :
Warning : setcookie() expects parameter 3 to be long, string given in .../zboard/logout.php on line 28
Warning : setcookie() expects parameter 3 to be long, string given in .../zboard/logout.php on line 29
Warning: Cannot modify header information - headers already sent by (output started at /home/school/public_html/zboard/logout.php:28) in .../zboard/logout.php on line 31
Warning: Cannot modify header information - headers already sent by (output started at /home/school/public_html/zboard/logout.php:28) in .../zboard/logout.php on line 32
Warning: Cannot modify header information - headers already sent by (output started at /home/school/public_html/zboard/logout.php:28) in .../zboard/logout.php on line 33

해결 :

최신 제로보드를 다운받아 logout.php의 내용을 비교한다.
powered by Moniwiki | themed by clockoon
last modified 2008-12-30 10:44:13
Processing time 0.0103 sec