웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
PHP 인증 페이지를 만들자! - Lesson 3 수정본 #1
2002.01.24 00:52
미리보기 : 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)
-영원히 끝-
해당 소스 미리보기 : 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)
-영원히 끝-
댓글 3
-
Sl
2002.01.24 01:17
미리보기라도 올려주시지 -
狂 Drummer
2002.01.24 01:19
아 그럴까요? -
유필성
2002.03.07 20:25
그리고 아디넣고 회원가입하는것은 어케해여?
제목 | 글쓴이 | 날짜 |
---|---|---|
자동차세 연체가산금 계산기 | secret | 2001.04.02 |
Imagechar() 함수에서 한문자씩쓰는거 여러글짜이어쓰는함수 | 김승태 | 2001.10.20 |
남은 계정 용량 확인하는 PHP [17] | 겜올드™ | 2001.09.09 |
php 로 swf 맹글기 [3] | 리산 | 2001.08.30 |
mysql_fetch_row함수와 mysql_fetch_array함수의 차이점. [4] | webzzang | 2001.08.22 |
1900년부터 2043년까지 음력을 양력으로..... [3] | pupstar | 2001.08.14 |
지금까지 살아온 날 계산해 주는 스크립트 [6] | skyel | 2001.07.20 |
홈페이지에 실시간뉴스 보여주기 [19] | looster | 2001.06.05 |
자기 홈 또는 서버 연지 며칠이 지났는지 알 수 있는 php 소스 [15] | 고종길 | 2001.06.03 |
대화방을 만들어보쟈~ [20] | 해그리드짱!!! | 2001.06.03 |
쿠키 설정하고 불러올때 주의할점;; [윈도우 멀티부팅 사용하시는 초보분만] [9] | daftya | 2001.05.29 |
GD를 이용해본 영어 발음기호 image출력 [3] | 앤디(andy) | 2001.05.24 |
[APM] 한글, gif, jpeg, png 다되는 GD 설치 [4] | 앤디(andy) | 2001.05.22 |
최근게시물 - 첫글은 내용까지, 다음글부터 목록만... [15] | СreдturЭ | 2001.04.16 |
공부용 방명록이에욥^^. 주석왕창(페이지분할등.기능있어욥~) [2] | 프리^^ | 2001.04.16 |
[추천 팁] phpmyadmin 으로 복구 할때. | 후니 | 2001.02.28 |
주소에서 음악 파일만 빼와 윈앰프로 실행하기 [1] | 오기 | 2001.12.04 |
배경 음악을 한번만 실행 시키기 - 쿠키이용 [4] | 오기 | 2001.12.02 |
M3U생성 프로그램을 통한 MP3실시간 듣기.. [11] | ▒1q▒ | 2001.09.13 |
PHP 인증 페이지를 만들자! - Lesson 3 수정본 #1 [3] | ☺[폐]허접-_- | 2002.01.24 |