웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
페이지에 암호를 걸자..=_=
2004.06.25 21:01
제가 공부를 시작한지 4일밖에? 안되서.. ㅜㅡ
잘 모르겠습니다..
그래도,, 성공하니깐.. =_= 흥분해서 올립니다.. 부디 따뜻하면서도 많은 딴지.. 걸어주시길..
더덕더덕 쓸모없는 것들좀 지적해주세요..
미리보기 : http://pain.new21.org/phpstudy/4.php
<?
if($pass == "") {
echo "
<form action=$PHP_SELF method=post>
<input type=password name=pass>
<input type=submit value=확인>
</form>
";
$pass = yet;
echo "<font color=#3366CC>암호를 입력해주세요</font>";
}
if($pass !== "yet") {
if($pass !== "사용할암호") {
echo "
<form action=$PHP_SELF method=post>
<input type=password name=pass>
<input type=submit value=확인>
</form>
";
echo "<font color=red>암호가 틀렸습니다</font>";
}
}
if($pass == "사용할암호") {
include "/babo/암호가 맞으면 나올곳을 상대경로로 입력합니다.php";
}
?>
잘 모르겠습니다..
그래도,, 성공하니깐.. =_= 흥분해서 올립니다.. 부디 따뜻하면서도 많은 딴지.. 걸어주시길..
더덕더덕 쓸모없는 것들좀 지적해주세요..
미리보기 : http://pain.new21.org/phpstudy/4.php
<?
if($pass == "") {
echo "
<form action=$PHP_SELF method=post>
<input type=password name=pass>
<input type=submit value=확인>
</form>
";
$pass = yet;
echo "<font color=#3366CC>암호를 입력해주세요</font>";
}
if($pass !== "yet") {
if($pass !== "사용할암호") {
echo "
<form action=$PHP_SELF method=post>
<input type=password name=pass>
<input type=submit value=확인>
</form>
";
echo "<font color=red>암호가 틀렸습니다</font>";
}
}
if($pass == "사용할암호") {
include "/babo/암호가 맞으면 나올곳을 상대경로로 입력합니다.php";
}
?>
댓글 27
-
TheMics
2004.07.08 15:57
허;그렇군요...난 왜 이제서 알았지-_-; -
☺심심
2004.06.25 21:02
미리보기에 있는 암호는 12345 입니다는 안나옵니당.. -_- -
양영직
2004.06.25 21:53
보통 암호걸기는......먼저 다른 파일에 암호를 적은 뒤(보통 crypt암호화를 적용하여 하지요)
입력된 암호와 그 파일에 적힌 암호와 비교해서 확인합니다...
참고로 저런 긴 html 문장은 echo를 사용하지 않는 것이 빠릅니다.
e.g.)
<?
$aaa = false;
if(!$aaa){
?>
<input type=text value="변수 $aaa의 값은 false 입니다.">
<?
}
else{
......
}
?>
약간의 스킬이 필요하지요.
참고로 시간되시면 암호학 한번 공부해보세요 정말 재밌음^^
추천 암호학 사이트: http://cissoft.dju.ac.kr/amho/ (저는 이 사이트 관계자가 아님-_-) -
양영직
2004.06.25 21:53
근데 4일치 초보신데
폼의 데이터 전송을 잘 활용하셧네요^^ -
☺심심
2004.06.25 22:16
ㄳ합니당 ㅎㅎ -
Pe-i
2004.06.27 19:03
<?
$pass = "mypw";
if ($_POST[pw] == $pass) {
echo "로그인 성공";
} else if ($_POST[pw] != $pass) {
echo "로그인 실패";
} else {
?>
<form action="<?=$PHP_SELF?>" method="post">
<input type="password" name="pw">
<input type="submit" value="확인">
</form>
<?}?>
개인적인 방식~
위 소스에서 틀린 부분
1.
echo "<form action=$PHP_SELF method=post>...";
이렇게 해도 실행은 되지만 바르지 못한방법.
echo "<form action=".$PHP_SELF." method=post>...";
이렇게 하는걸 권장합니다~
2.
$pass = yet;
yet은 정수형이 아닌 문자열이기 때문에 ""를 적어야 합니다.
그렇기 때문에 $pass = "yet"; 이 맞는거죠.
여담으로는 $pass = 0; 과 $pass = "0"; 은 틀린겁니다.
앞의것일 경우 $pass는 값이 없는것이지만, 뒤의것은 0이라는 문자가 있는거죠.
그럼~ -
Pe-i
2004.06.27 19:07
그밖의 것은 대체 구조가 어찌된건지를 몰라 못고쳐드립니다;
하나 더.
A !== B 는 php4부터 추가된 거로 A와 B가 문자 뿐만이 아니라 타입까지 다를 경우에만 true입니다.
그렇기 때문에 A != B 를 권장합니다~ -
☺심심
2004.06.27 19:09
와~ 페이군 고마워 -
9000㎒
2004.06.27 22:53
(참.. 저기 있는 인증암호는 md5 값이라 못외움 -_-;) -
9000㎒
2004.06.27 22:51
-
9000㎒
2004.06.28 13:40
register_global은 off 해야 맞습니다 [;] -
9000㎒
2004.06.28 13:42
음... ".$aaa."는 내용하고 변수를 분리시키기 위한 방법인듯 합니다.
만약에 <? echo("aaaaa $aaa aaaaaa") ?>를 하면 간혹 'aaaaa $aaa aaaaaa' 라고 표시되는 때가 있어서 [..] (특히 폼메일러 프로그래밍 할때 이메일에 저런 내용으로 발송 -_-) -
TheMics
2004.06.27 23:37
!==를 권장한다는 말씀에는 동의할 수 없습니다. !=와 기능 자체가 다른데 비교할 수가 없지요.
위와 같은 상황으로 한정한다 해도 !=의 이점을 찾을 수가 없군요(1바이트 절약은 인정합니다).
폼에서 비밀번호를 숫자로 입력해 보낸다 해도 어차피 string으로 넘어가는데 말이죠..
아, PHP4기반으로 말씀드리는겁니다..;
그리고 권장 비권장 따지기 시작하면 끝이 없어지죠;;
위에 페이님께서 고치신 소스만 보더라도
<? - 비권장 <?php - 권장
<?="내용"?> - 비권장 <?php echo "내용" ?> - 권장
$환경변수 - 비권장 getenv("환경변수") - 권장
$변수[문자열] - 비표준 $변수["문자열"] - 표준 등등..
거의 태클로 보일정도로 많이 나오는군요;
에..내친김에 질문 하나 드릴게요...;;
어째서 "aaaaa $aaa aaaaaa"를 비권장하고 "aaaaa ".$aaa." aaaaaa"를 권장하는건가요?
참고문에도 (후자를 권장한다는 말은 물론) 관련 내용이 하나도 언급되어있지 않더라구요.
아무런 이유 없이 그냥 그걸 권장한다니까 그렇게 쓸 리도 없을테고-_-; 아무튼 궁금합니다. -
u2em
2004.06.28 12:27
분수도 모르면서 지적을 하겠습니다. $PHP_SELF는 $_SERVER['PHP_SELF'] 로 해야 register_globals 환경변수를 On 하지 않더라도 사용할수 있습니다. 제로보드가 저것을 off하면 로그인이 안되는 바람에 피를 엄청나게 봐서 드리는 말입니다...
그런데 register_global을 Off하면 정신나간 관리자로 취급하더군요... -
써니루루☆
2004.06.29 01:34
열심히 하세용~
넓게 공부하세요~ -
써니루루☆
2004.06.29 01:37
그리고 9000Mhz님 php.ini의 설정은 사용 상황에 따라 크게 다를 수 있습니다.
자세히는 집고 넘어가지 않겠지만 register_global에 따라 대부분의 아이디 암호 체크 부분에서 엄청난 해킹 사고가 나는 경우가 대부분입니다.
global을 on 한 상태에서는 변수의 저글링 때문에 해킹을 유발하는 경우가 있지만 register_global을 on 한 상태가 sql을 이용한 id pass 해킹을 막는 최 우선 정책이 되기 때문에 서버 관리자들은 on 으로 사용하게 됩니다.
어디가서나 'off로 해야 맞습니다.' 하는 말은 아니라고 생각합니다. -
9000㎒
2004.06.29 13:32
써니루루 // 뭐 꼭 맞다는 건 아니지만 off를 추천하는 편입니다. 그래서 저런 실언을 -_- -
에지
2004.07.04 18:40
9000㎒ // ".$aaa."는 이럴때 쓰면 가장 유용하죠-_-/
<?
$aaa = "에이"
echo "aaaa$aaaaaaa"; //aaaa에이aaaa라고 출력되라고 썼으나 100% aaaa만 출력된다-_-;
echo "aaaa".$aaa."aaaa"; //aaaa에이aaaa라고 아주 정상적으로 출력된다..
echo "aaaa{$aaa}aaaa"; //정상출력된다-_-; (으음;)
?>
냐하하; (퍽) -
TheMics
2004.07.06 14:05
aaaa${aaa}aaaa 겠죠 :) -
☺심심
2004.07.07 22:05
페이 //
$PHP_SELF 는 $_SERVER['PHP_SELF] 가 가장 좋다?는 결론! -
☺심심
2004.07.07 22:13
아. .위에있군.. -_-; -
☺심심
2004.07.07 22:22
TheMics // aaa{$aaa}aaa 도 될걸요..; ?? -
에지
2004.08.05 13:42
TheMics// 저 {$aaa}는 본인이 PHP 입문하기도 전에 맨 처음 알아낸 사실.. (퍼버벅)
아무튼 ${aaa}도 되는구나 (퍽) -
LuFia
2005.04.28 16:19
<?php
echo "
<form action=$PHP_SELF method=post>
<input type=password name=pass>
<input type=submit value=확인>
</form>
";
if($pass == "1234") {
echo "
<font color=blue>비번 맞음</font>";
}
if($pass !== "1234") {
echo "
<font color=red>비번오류</font>";
}
?>
이렇게 해도 되지않나요? -
나라
2005.05.08 19:54
ㅋㅋ 에지님과 TheMics님의 정보교환-_-; -
로크
2005.07.22 11:27
<form action=<?php echo $_SERVER['PHP_SELF]; ?> method=post>
<input type=password name=pass>
<input type=submit value=확인>
</form>
<?php
if($pass == "패스워드") {
?>
<font color=blue>비번 맞음</font>";
<?php
} else {
?>
<font color=red>비번오류</font>";
<?php
}
?> -
박현우
2006.03.12 12:20
저는 걍 이렇게 합니다
1번(index.html)에 이렇게 하고
<?
if($pwok)
{ ?>
홈페이지 내용
<? } else { ?>
<form action=pass_check.php>
<input type=password name=pw>
<input type=submit value=확인>
<? } ?>
2, pass_check.php
<? if($pw == 비번)
{ ?>
setcookie("pwok",$pw,-1,"/");
<? } else { ?> <script> window.alert('비번이 틀렸습니다.');
history.back(1);<? } ?>
<script>
location.href='index.html';
</script>
3, 비번을 걸자
비번을 넣으면 index.html에서 pass_chech.php로 넘어가고
체킹해서 맞으면 쿠키를 넣고 다시 index.html로 이동합니다
그리고 index.html의
if에서 쿠키가 있으면 홈피가 뜨게 만드니까
ㅋㅋㅋㅋㅋ
어케 될까요?
됩니다.
단 2개의 파일로 엄청 간단하게
제목 | 글쓴이 | 날짜 |
---|---|---|
rand함수와 mt_rand함수의 비교 [6] | 심심타 | 2004.07.30 |
트랙백 구현하기 - 4. PHP로 트랙백 핑 받기 | TheMics | 2004.07.18 |
트랙백 구현하기 - 3. PHP로 트랙백 핑 보내기 [4] | TheMics | 2004.07.18 |
히어닥 문법 활용 [14] | ☺심심 | 2004.07.13 |
++와 +=1 의 속도차이 [7] | 플로렐라 | 2004.07.12 |
<와 <=의 속도차이? [23] | 플로렐라 | 2004.07.07 |
서버가 느려졌을경우... [20] | 신상우 | 2004.06.28 |
파일업로드시 파일명 중복되지 않게 저장하기.. [8] | 페리 | 2004.06.28 |
페이지에 암호를 걸자..=_= [27] | ☺심심 | 2004.06.25 |
아이피 접근을 막고 메세지 출력하기.. [11] | ☺심심 | 2004.06.24 |
오늘의 명언을 출력해주는 함수 [10] | 김재경 | 2004.06.15 |
3. if문 [13] | 티다 | 2004.06.05 |
응용편 - BMI 측정 테스트 소스를 만들어보자 [5] | 티다 | 2004.06.04 |
게시판내용에 코멘트를 달자!! -마지막- [2] | 이혁 | 2004.06.03 |
게시판내용에 코멘트를 달자!! -2- [1] | 헉스 | 2004.06.02 |
게시판내용에 코멘트를 달자!! [3] | 헉스 | 2004.06.02 |
2. array [5] | 티다 | 2004.06.02 |
1. 연산자 [2] | 티다 | 2004.06.02 |
주식정보출력코드 [2] | 김재경 | 2004.06.01 |
윈도우계정에서 현재 남은 용량과 DB 용량 알기 [6] | 지으니 | 2004.05.31 |