웹마스터 팁

미리보기 : http://dongsung.hs.kr/login/login.php
해당 소스 미리보기 : http://dongsung.hs.kr/login/login.phps


MySQL 사용않하는 인증 PHP 스크립트 입니다.
생각외로 알고싶어 하시는 분들이 많아서 허접한 솜씨로 올려봅니다...;
(물론 이 방법 외에도 더 좋은 방법이 있습니다.
이 방법은 제가 자주 쓰는 것이기 때문에..-ㅅ-;)
보안에도 아주!!!!!
미세하게(-ㅅ-;;) 신경을 쓸 것이기 때문에
상당히 소스가 길어질 겁니다'-';;;;;;

작성자 - [폐]허접-_- (윤종민) (저 입니다-ㅅ-;;;)

이 설명은 특정한 분들만 해당된 페이지에 들어갈 수 있도록 하는 겁니다'-';
- 만약 제가 올린 소스 그대로 해보셨는데 에러나셨으면 에러문장이 몇번 문장인지 코멘트로^-^

------------------------------------------------------------------

Lesson 3.


드디어 유저들로부터 비밀번호를 받는구나~~~
아싸 가오리~  へ( ̄▽ ̄)へ 훌렁훌렁...; (계속해서 죄송-_-;;;)



자아....
이번 강의(?)에 비하면 전편들은
모두 지나가는 사소한 코딱지 덩어리들입니다-_-;;
그만큼 좀 복잡하다는 것이죠'-';
이 강의(;;;)들 중 꽃(花) 이라고 할 수 있겠죠;;


그럼 시작하겠습니다~~'0'+ '/

-------------------------------------------------------------------


파일명 - login.php

<?

if($mode == login)                        /* 로그인 처리할 부분 */
{          

/* 주소창에 주소를 ?mode=login 으로 직접 입력할떄 나오는 경고문 */
if ( !$HTTP_REFERER )                
{
echo "        
<script>
window.alert('잘못된 접근입니다.nn올바른 경로로 접속하세요.');
location.href('login.php');
</script>";
exit();
}

if(file_exists("config.php")) {                /* 만약 config.php 파일이 있다면 */
        include "config.php";                /* config.php 파일을 인클루드함. */

if(!strcmp($pass, $pass1)) {                // 관리자가 설정한 비밀번호와 유저가 입력한 비밀번호가 일치한지 검사
                                        
echo "                

<script>
window.alert('인증 되었습니다.');        <!-- 일치 했을때 -->
</script>

<form action='$PHP_SELF' method='post'>
<input type='hidden' name='mode' value='logout'>        <!-- 로그아웃을 위한 Hidden 부분. (로그인 아닙니다!) -->
<br>
<center>
<input type='submit' value='로그아웃'>                <!-- 로그아웃을 위한 버튼 -->
</center>
</form>

<!-- 이 부분이 여러분들이 꾸미실 부분입니다~!
   바로 인증 성공했을 때 나타날 부분이죠~!
   여기에 html 소스를 입력하실 수 있구요!
   < html 소스 넣으실떄 주의 >
   ----------------------------------
   html 소스를 이 곳에 넣으실 때
   소스안의 큰 따옴표("")를 모두
   작은 따옴표('')로 변형시켜주세요~!
   않 그러면 에러나요~~~~~~~!
   ----------------------------------
   아니면 메타 태그중 리프레시 문장으로 넘길수 있어요'-'/

   <meta http-equiv='refresh' content='0;URL=여러분이 원하시는 곳 주소'>

   이 문장이예요^-^  -->

";
} else {
        echo "
        <script>
        window.alert('비밀번호가 틀립니다.');        <!-- 비밀번호가 일치하지 않을때 -->
        history.go(-1);
        </script>";
} }

else {                                                // 만약 config.php 파일이 없다면

echo "

<center>
<br><br><br><br><br>
<br><br><br><br><br>
<font size=30>ERROR</font>
<br><Br><Br>
config.php 파일이 없습니다.
<br><br>
admin.php 파일로 설정 하세요.
</center>";
}

} else {                                                                                                        

        /* 인즘 폼 */

if(file_exists("config.php")) {                              // 만약 config.php 가 있다면

echo "
<script>
<!--
function checkit(form)
{
if(!form.pass1.value)      
{
   alert('비밀번호를 입력해 주세요.');  
   form.pass1.focus();    
   return;                
}
form.submit();        
}
//-->
</script>
<body bgcolor=white>
<center>
<form action='$PHP_SELF' method='post'>
<input type=hidden name=mode value=login>                       <!-- 로그인을 위한 부분 Hidden 처리 -->
<input type='password' name='+ 'pass1'>
<br><Br>
<input type='button'+ ' value='OK' onclick='checkit(this.form)'>    <!-- 입력 검사와 함께 값이 ture면 로그인 페이지로  -->
</form>
";                                                
} else {                                                       // 만약 config.php 파일이 없다면

echo "
        
<center>
<br><br><br><br><br>
<br><br><br><br><br>
<font size=30>ERROR</font>
<br><Br><br><Br>
config.php 파일이 없습니다.
<br><br>
admin.php 파일로 설정하세요.
</center>";
}
}

/* 로그아웃 처리 부분 */

if($mode == logout)  
{ echo "<meta http-equiv='refresh' content='0;'>";
}

?>



.............



하고 나니까 막막해지네요-_-;;;;;;;;;;;;;;;;

제가 설명해 드릴수 있는 함수는...;


strcmp(); 하고..

....


뒤지니까 이거 밖에 없네요-_-;;;;;;;;
죄송합니다-_-;;;;;;;;;

일단 strcmp() 함수라도 설명해 드리겠습니다..ㅠ_-

strcmp() 함수에 대한 정의는 다음과 같습니다'-'/


strcmp(str1, str2);
두 개의 문자열(str1, str2)를 비교한다.

간단하죠?
(제가 이 함수에 매료되어 이 강의(;;)와는 달리
id를 첨가한 완전한 로그인 폼을 프로그래밍 했습니다;;
id를 추가한 원리(?)는 간단하죠;;
소스 분석하시다보면 개성있는 인증 폼을
만드실 수 있을 겁니다'-';;)

이 함수는 file_exists(); 함수와 비슷하게
if 문을 데리고 뎅깁니다'-';
(if 문은 바람둥이라 생각하시면'-';;
여기저기 함수에 필요한 존재거든요;;
카사노바....-_-;;;;;;;)


예를 들어보겠습니다^-^


#1

if(strcmp("야호", "야호")) {
/* 두 문장이 일치할 때 나타낼 부분;; */
} else {
/* 일치하지 않을 때 나타낼 부분입니다. */
}

이렇게 할 수 있습니다'-'
위 예제에서는 죽어도! 절대로! 네버! Never!
else 문장이 실행될 수 없습니다'-'
Why?
"야호", "야호"
이 두 문자열이 동일하잖아요'-'
이런 때에는 구지 else 문을 붙이지 않아도 됩니다'-'
else 문이란건 if 문이 거짓일때만 실행되니까요~^-^

따라서 다음과 같이 될 수 있습니다.

#2

if(strcmp("야호", "야호")) {
/* 두 문장이 일치할 때 나타낼 부분;; */
}

이것으로도 끝낼수 있습니다^-'
물론 strcmp 함수 앞에 !(반대) 를 붙이시면 위치가 달라지죠~


#3

if(!strcmp("야호", "메롱")) {
/* 두 문장이 일치하지 않을 때 나타낼 부분;; */
} else {
/* 일치할 때 나타낼 부분입니다. */
}


이런 상황이 되면 위에서도 언급했듯이
else 문을 붙일 필요가 없겠죠'-'?
따라서 이것도 다음과 같이 줄여질 수 있습니다~!


#4

if(!strcmp("야호", "메롱")) {
/* 두 문장이 일치하지 않을 때 나타낼 부분;; */
}

이렇게요'0'/

음....;;

이게 끝나니까 설명할 소스가 없네요....;;;;;;;;;;;;;;
{사실 돈을 안다는;;;;
(I don't know..;);;;;;;;;;
쿨럭;;
-_-;;}




그럼 많은 소스들을 분석하셔서 좋은 프로그래밍 하시구요~!
안녕히 주무세요~~!!

이상 인증 PHP페이지 만들기위한 설명글 이었습니다~!
작성자 - 狂 Drummer (윤종민)


P.S 아..; 졸려....;;

(현재 시각 : 새벽 1:40)


-영원히 끝-
제목 글쓴이 날짜
교육용 방명록 #8 [delete.php3파일에서 넘겨받은 비밀번호를 검사하여 글을 삭제합니다.] [18] zero 2000.07.03
MySQL 루트비번 분실시 대처요령 [29] zero 2001.04.18
노프레임/카운터에 관련된 PHP함수 팁 몇가지 [1] 차카게살자 2001.12.28
PHP 인증 페이지를 만들자! - Lesson 1 수정본 #2 ☺[폐]허접-_- 2002.01.24
PHP 인증 페이지를 만들자! - Lesson 2 수정본 #1 [5] ☺[폐]허접-_- 2002.01.24
회원관리 프로그램을 구현하고 싶은신 분들께.. [7] [폐]허접-_- 2002.03.18
PHP 인증 페이지를 만들자! - Lesson 3 수정본 #1 [3] ☺[폐]허접-_- 2002.01.24
M3U생성 프로그램을 통한 MP3실시간 듣기.. [11] ▒1q▒ 2001.09.13
배경 음악을 한번만 실행 시키기 - 쿠키이용 [4] 오기 2001.12.02
주소에서 음악 파일만 빼와 윈앰프로 실행하기 [1] file 오기 2001.12.04
[추천 팁] phpmyadmin 으로 복구 할때. 후니 2001.02.28
공부용 방명록이에욥^^. 주석왕창(페이지분할등.기능있어욥~) [2] 프리^^ 2001.04.16
최근게시물 - 첫글은 내용까지, 다음글부터 목록만... [15] СreдturЭ 2001.04.16
[APM] 한글, gif, jpeg, png 다되는 GD 설치 [4] 앤디(andy) 2001.05.22
GD를 이용해본 영어 발음기호 image출력 [3] 앤디(andy) 2001.05.24
쿠키 설정하고 불러올때 주의할점;; [윈도우 멀티부팅 사용하시는 초보분만] [9] daftya 2001.05.29
대화방을 만들어보쟈~ [20] 해그리드짱!!! 2001.06.03
자기 홈 또는 서버 연지 며칠이 지났는지 알 수 있는 php 소스 [15] 고종길 2001.06.03
홈페이지에 실시간뉴스 보여주기 [19] looster 2001.06.05
지금까지 살아온 날 계산해 주는 스크립트 [6] skyel 2001.07.20