웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
파일시스템에서 비밀번호 생성/수정/인증
2002.01.10 11:15
그냥 이렇게도 쓸수 있구나.. 하고
생각해주시길 바랍니다 ^^;;
이건 비밀번호를 파일명으로 저장하여
file_exists함수를 이용하여 인증페이지에서
적은 비밀번호가 존재하는 파일명인지
검색하여 존재할경우 인증성공
그렇지 안을경우 실패하는 방법입니다.
그리고 rename함수를 이용하여 비밀번호를 바꿀수도 있겠죠 ^^
방법.
add_pass.htm(비밀번호생성)
<from action=add_pass.php>
<input type=text name=pass>
<input type=sumit vlaue=비밀번호를 생성합니다>
</from>
add_pass.php(비밀번호생성)
<?
if(!is_dir("pass")){
//만약 pass디렉토리가 없을경우
mkdir("pass",0777);
//pass디렉토리생성
}
touch("pass/$pass");
//pass디렉토리에 $pass이름의 파일생성
?>
pass.htm(인증페이지)
<from action=pass.php>
<input type=text name=pass>
<input type=sumit vlaue=로그인>
</from>
pass.php(인증페이지)
<?
if(!file_exists("pass/$pass")){
echo"비밀번호가 틀렸습니다.";
//pass디렉토리안에 $pass명의 파일이 없을경우 에러표시
}else{
echo"인증성공";
//존재할경우 성공표시
}
?>
pass_new.htm(비밀번호 변경)
<from action=pass_new.php>
현재비번<input type=text name=pass>
새비번<input type=text name=newpass>
<input type=sumit vlaue=변경>
</from>
pass_new.php(비밀번호 변경)
<?
rename("pass/$pass","pass/$newpass");
//rename함수를 이용하여 파일명을 바꿈
?>
이렇게 하면 되겠죠..
만약 회원관리기능같은걸 만들려면
"아이디명_비번"이런식으로 파일을 만들어
시간나면 한번 해봐야지.. -_-;;
근데 외부에서.. 이비밀번호를 캐낼수 있을까요?
개인적으로 궁금하네..
제가 허접이라 잘 모르겠어요.. -_-;
생각해주시길 바랍니다 ^^;;
이건 비밀번호를 파일명으로 저장하여
file_exists함수를 이용하여 인증페이지에서
적은 비밀번호가 존재하는 파일명인지
검색하여 존재할경우 인증성공
그렇지 안을경우 실패하는 방법입니다.
그리고 rename함수를 이용하여 비밀번호를 바꿀수도 있겠죠 ^^
방법.
add_pass.htm(비밀번호생성)
<from action=add_pass.php>
<input type=text name=pass>
<input type=sumit vlaue=비밀번호를 생성합니다>
</from>
add_pass.php(비밀번호생성)
<?
if(!is_dir("pass")){
//만약 pass디렉토리가 없을경우
mkdir("pass",0777);
//pass디렉토리생성
}
touch("pass/$pass");
//pass디렉토리에 $pass이름의 파일생성
?>
pass.htm(인증페이지)
<from action=pass.php>
<input type=text name=pass>
<input type=sumit vlaue=로그인>
</from>
pass.php(인증페이지)
<?
if(!file_exists("pass/$pass")){
echo"비밀번호가 틀렸습니다.";
//pass디렉토리안에 $pass명의 파일이 없을경우 에러표시
}else{
echo"인증성공";
//존재할경우 성공표시
}
?>
pass_new.htm(비밀번호 변경)
<from action=pass_new.php>
현재비번<input type=text name=pass>
새비번<input type=text name=newpass>
<input type=sumit vlaue=변경>
</from>
pass_new.php(비밀번호 변경)
<?
rename("pass/$pass","pass/$newpass");
//rename함수를 이용하여 파일명을 바꿈
?>
이렇게 하면 되겠죠..
만약 회원관리기능같은걸 만들려면
"아이디명_비번"이런식으로 파일을 만들어
시간나면 한번 해봐야지.. -_-;;
근데 외부에서.. 이비밀번호를 캐낼수 있을까요?
개인적으로 궁금하네..
제가 허접이라 잘 모르겠어요.. -_-;
댓글 7
-
탐그루
2002.01.10 12:48
저두 허접이라 걍 제 생각을 올립니다. 음 좋은 생각인것 같은데 무엇보다 서버에서 설정을 할때 하위디렉토리까지 보기를 설정해 둔다면 바루 비번 털리겠죠^^ 머 요즘 그렇게는 잘 안하지만.. 암튼 비번 생성할때 그걸 암호화 해서 하면 crypt(pass/$pass) 요렇게 하면 pass디렉토리가 보여두 잘 모를꺼 같습니다. (아 물론 어것두 뚫린다고 합니다) -
수지니^^
2002.01.10 19:52
음.. 전문적인 사이트에서는 모르겠지만 간단한 사이트에서는 좋은방법 같네요..
나도 해봐야지 -_-;; -
수지니^^
2002.01.10 19:56
pass 디렉터리 밑에 index.html같은 인덱스를 넣어주면 더 보안이.. -
Kesarr
2002.01.14 12:15
상당히 위험한 방법이군요.. 초보분들을 위해 위의 인증 방식을 좀더 응용하자면..
$id.cgi (혹은 실행파일 확장자) 안에 암호화된 $pass 를 저장하면 좀더 좋을듯 합니다.
그리고 그 실행파일에 실행권한을 주지 않으면(666 등), 더 좋겠죠..
if(file_exists("pass/$id.cgi")) $pass = file("pass/$id.cgi");
그러면, $pass[0] 이 원하는 비밀번호를 가지고 있게 됩니다.
혹은 $id.php 에 <? $pass = $pass; ?> 이렇게 저장하면, 나중에
if(file_exists("pass/$id.php")) include "pass/$id.php";
이것만으로 비번을 불러 쓸 수 있으니 얼마나 편합니까?^^;;
사실 후자의 방법은, 여러가지로 상당히 유용하게 사용될 수 있습니다.
특히 MySQL 에 저장하기 좀 그런 설정들은 이런식으로 php 형식으로 저장해서 include 하면 매우 편리하게 사용가능합니다.^^;; -
Trustyle!
2002.01.19 16:59
저두 윗분과 같은 생각...
이렇게 한다면.. http://홈주소/pass/ 로 들어가면.. 어떤 서버에서는 목록이 나오더라구요..
저두 전에 그렇게해서 해킹당했구요... 음.. $pass.cgi 로 함이 더욱 안전할 것같네요^^
아.. 정말 기발한 아이디어^^ 그 pass 파일 안에... 사용자 정보도 넣어두면..
이건 정말 획기적인 아이디어네요^^ -
김성호
2002.02.26 04:07
가끔 어떤 서버에 홈의 이름이 아닌 직접 서브디렉토리를
지정해서 들어가면 파일목록들이 출력이 되는 경우가 있
는데, 이를 방지하려면 해당 서브디렉토리의 퍼미션의
실행권한을 없애주던지 아니면 해당 디렉토리에 index.html 이나 index.htm 등의 파일들을 넣어주면 됩니다. 참고하세요....
예) http://www.DOMAIN.com/으로 접속시엔 정상적으로
홈이 보이는데, http://www.DOMAIN.com/image/식으로
서브디렉토리까지 같이 적어서 접속시, 파일목록들이
출력이 되는 상황을 말씀드리는 겁니다.
이를 방지하는 것으론,
원천적으론 해당 홈을 서비스하는 서버에서 하는 것이
바람직하고요.
그냥 개인이 이를 방지하고자 할 때는
해당 서브디렉토리(위 예에선 image)의 퍼미션 부분에서
실행부분을 없애주시면 됩니다. telnet이 안되면
퍼미션변경을 가능하게 해주는 ftp 프로그램을 이용하면
되고요.
또는 이를 좀더 이용할 수도 있는 부분인데
해당 서브디렉토리에 index.html 이나 index.htm 등의
해당 서브디렉토리 전용 접속파일을 넣어주면 됩니다.
홈 메인에서 사용하는 내용의 인덱스 파일을 넣는것이
아니라, 서브디렉토리 전용 인덱스파일을 따로 만들어서
넣는 것을 말합니다.
image 에 넣는 index.htm 파일을 넣는다고 가정하면
내용을 이런식으로 하면 됩니다.
<html><head></head>
<body>
직접 서브디렉토리의 접근은 허용치 않습니다.<br>
<a href="홈주소" target="_top">홈으로돌아가기</a>
</body></html>
식으로 하시던지 아님, 자동으로 메타파일을 넣어서
바로 홈으로 이동하게 하면 됩니다.
<html><head>
<meta http-equiv="refresh" content="0;url=홈주소">
</head><body></body></html>
이런식으로요...
참고가 되셨길... -
윤석주
2002.03.30 10:01
.cgi 로 하면 안나오던데..
아니면
index.htm도 넣는것도 좋은방법이고요~_~
제목 | 글쓴이 | 날짜 |
---|---|---|
좋은 난수값을 얻기위한 시드배정 방법 mt_srand(), srand() | 차카게살자 | 2002.02.21 |
필터링조금 다른거.. [7] | 두기두바 | 2002.02.10 |
한글 필터링 정확히 하기 [1] | mini | 2002.02.09 |
원고지 함수;; [3] | 디쓰 | 2002.02.07 |
md5() 알고리듬 [8] | 양창민 | 2002.02.05 |
이제 홈페이지 업데이트 안하는 수모를 겪지 말자! [7] | 담배를끊으면복이옴과 | 2002.02.02 |
이제 PHP에 ?id=가나다라 같은것을 넣자! [12] | 담배를끊으면복이옴과 | 2002.01.30 |
초보분들을 위한 연산자 총정리 [6] | TheMics | 2002.01.29 |
[PHP]모르는 분이 있는듯 해서...변수관련 [2] | TheMics | 2002.01.24 |
cron을 이용해 윈앰프 방송정보를 빠르게 분석. [9] | Romeo | 2002.01.15 |
파일시스템에서 비밀번호 생성/수정/인증 [7] | 두기두바 | 2002.01.10 |
파일시스템(배열)에서의 검색기능 [5] | 두기두바 | 2002.01.09 |
[추천 팁] 디망쉬식 스킨 시스템 [4] | 디망쉬 | 2001.12.11 |
[추천 소스] phpMyAdmin 다중사용자용... [5] | WOWpc | 2001.11.29 |
MySQL에서 한글 정렬 문제 [2] | 손정호 | 2001.11.21 |
phpMyAdmin에서 dump 안 되시는 분들 보세요 [5] | 똥가리 | 2001.11.18 |
컴에 phpMyAdmin 깔고 원격 Mysql 관리.(이것도 팁이 되려나?) [1] | 최형삼 | 2001.11.17 |
[추천 소스] 특정일로부터 몇일 지났나 또는 몇일 남았나 알아보는 소스 ㅡ.ㅡ; [1] | 타스케 | 2001.11.15 |
게시판 만들 때 스팸메일을 막을 수 있는 방법중 한개. [11] | WOWpc | 2001.11.09 |
[GD] 이미지 회전 함수 공개합니다. [7] | 노경민 | 2001.11.05 |