웹마스터 팁

초보의 초보를위한 초보에의한 강의 보강입니다.

전에 PHP Authorizen 기능을 이용한 암호를 거는 방법을 공부 하였습니다.
MySQL을 쓰시고 싶다는 분과 제로보드와 연계해달라는 분의 요청이 있어
어설픈 실력으로 뚝딱뚝딱 만들어 보았습니다.

이소스는 버그가 존재할수 있으며.. (ㅡ.ㅡ 몇줄안되지만.. 실력이 허접한지라..)
여러가지 제한이 붙습니다. 제로보드와 연계하다보니..
제로보드 lib.php 파일과 동일한 디렉토리에 들어가 있어야 합니다. (즉 제로보드 디렉토리에 있어야 한다는 예기)
다른디렉토리로 이동할경우 제대로 동작하지 않을수도 있습니다.

다음은 수정한 허접한 소스 입니다.
---------------------------------------------------------------------------------
<?
        include ("lib.php");
        $member_data[no] = '' ;
        if(!$connect) $connect=dbConn();

        $user_id = $PHP_AUTH_USER;
        $password = $PHP_AUTH_PW;
        $result = mysql_query("select * from $member_table where user_id='$PHP_AUTH_USER' and password=password('$PHP_AUTH_PW')") or error(mysql_error());
        $member_data = mysql_fetch_array($result);

        if (!$zb_logged_no) { $zb_logged_no = $member_data[no] ; }

        if (!$zb_logged_no) {

        header( "WWW-Authenticate: Basic realm="암호를 넣으세요"" );
        header( "HTTP/1.1 401 Unauthorized" );         
        
                head();
                Error("로그인을 실패하였습니다");
                foot();

        exit;
        }
        
//ZB 4.0x 용 세션 처리
        $zb_logged_no = $member_data[no];
        $zb_logged_time = time();
        $zb_logged_ip = $REMOTE_ADDR;
        $zb_last_connect_check = '0'+ ';

                session_register("zb_logged_no");
                session_register("zb_logged_time");
                session_register("zb_logged_ip");
                session_register("zb_last_connect_check");

                // 로그인 후 보여줄 페이지 include등을 사용하시면 되실듯 합니다.
                echo 'Login 성공';


        @mysql_close($connect);
?>
일반 html의 경우 그전과 동일하게 이곳에 작성하여 주시면 됩니다.
--------------------------------------------------------------------------------------------

로그인 성공했을때 보여줄 부분과 실패했을때 보여줄 부분을 수정하셔서 사용하시면 되실껏 같습니다.

버그1 .. 이 소스를 사용 로그인후 제로보드의 게시판등의 페이지로 이동하였을경우 로그인 상태에도 불구하고
로그인하지 않은상태로 보여질수도 있습니다. 이는 로그인하지 않는 화면을 기억하고 있어서이므로
F5를 눌러 새로 고침하시면 정상적으로 로그인상태로 보여집니다.
새로고침하지 않으시더라도 사용에 문제는 없을것입니다.

버그2... 로그인후 제로보드에서 로그아웃 하였을경우 이 소스를 이용한 페이지로 이동시 로그인 상태가 유지됩니다. 

이는 로그인 여부를 판단하는 기준이 제로보드와 달라서 일어나는 증상으로..
ㅡ.ㅡ 허접한 실력으로 만들다보니..
이런버그가 생기게 되었습니다.
(허접한 실력으로.. 수정한다고 수정했는데.. ^.^
버그1은 프레임을 사용하실때와 비슷한 경우이므로.. ^.^ 무시하셔도 되실듯 합니다.
버그2는 로그인 했다가 제로보드에서 로그아웃 상태에서 이소스를 사용한 페이지로 이동하면,
다시 로그인이 됩니다. ㅡ.ㅡ )

허접한 실력이다 보니.. ^.^  죄송합니다.
초보의 초보를위한 초보에의한 강의  이만 줄입니다
제목 글쓴이 날짜
초보의 초보를위한 강의 PHP를 활용한 페이지 암호걸기 #3 [10] 아이쿠 2002.11.15
초보의 초보를위한 강의 PHP를 활용한 페이지 암호걸기 #2 [8] 아이쿠 2002.11.13
초보의 초보를위한 강의 PHP를 활용한 페이지 암호걸기 #1 [9] file 아이쿠 2002.11.13
페이지에 접속할 때마다 다른 배너보여주는 소스.. [9] 풍월주인 2002.10.07
초보의 php를 활용한 OneFrame(NoFrame) 홈페이지 만들기 - 4 end [15] 아이쿠 2002.08.30
초보의 php를 활용한 OneFrame(NoFrame) 홈페이지 만들기 - 3 [1] 아이쿠 2002.08.30
초보의 php를 활용한 OneFrame(NoFrame) 홈페이지 만들기 - 2 [11] 아이쿠 2002.08.30
초보의 php를 활용한 OneFrame(NoFrame) 홈페이지 만들기 - 1 [17] 아이쿠 2002.08.30
[Header 이용하기 #3] 페이지 이동 [2] )OsE= 2002.08.01
[PHP]간단한 로그인페이지 만들기 [15] ZipShin 2002.07.09
총페이지의 값을 구하고 출력하기 불티나 2002.06.05
include를 이용한 다음넷 홈페이지 꾸미기2(그림 첨부) [4] file ZipShin 2002.03.12
include를 이용한 다음넷 홈페이지 꾸미기1 [10] ZipShin 2002.03.12
많고 많은 페이지들을 하나로 줄이자! [7] 제키드+_+)/ 2002.02.23
[re | 씽크식 PHP] 많고 많은 페이지들을 하나로 줄이자! [2] John Sync. 2002.02.24
이제 홈페이지 업데이트 안하는 수모를 겪지 말자! [7] 담배를끊으면복이옴과 2002.02.02
홈페이지에 실시간뉴스 보여주기 [19] looster 2001.06.05
공부용 방명록이에욥^^. 주석왕창(페이지분할등.기능있어욥~) [2] 프리^^ 2001.04.16
PHP 인증 페이지를 만들자! - Lesson 3 수정본 #1 [3] ☺[폐]허접-_- 2002.01.24
PHP 인증 페이지를 만들자! - Lesson 2 수정본 #1 [5] ☺[폐]허접-_- 2002.01.24