215, 1/11 회원가입  로그인  
   ka0r1
   로그인 페이지 구현중 header 함수의 의미

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=141 [복사]


<?php
        $user="asdf";
        $pass="asdf";

        if($_SERVER["PHP_AUTH_USER"]==$user&&$_SERVER["PHP_AUTH_PW"]==$pass){
                echo "Succeed Access!";
        }

        else{
            header('WWW-Authenticate: Basic realm="You need to login"');
            header("HTTP/1.0 401 Unauahorized");
            echo "Failed Access!";
            exit;
        }
?>


else문에서 header 함수 2개가 있는데
header 함수는 웹 브라우저로 사용자 인증을 요구하며
헤더 정보를 웹 브라우저로 전송한다고 책에서 나와있습니다.
그래도 뭔가 좀 모르겠어요.
"로그인 페이지 구현 -> 게시판 만들기 -> 웹 해킹"을 커리큘럼으로 공부하고 있는데
뭐랄까... 소스 코드만 보고선 클라이언트와 웹서버간에 이루어지는 일련의 과정들이
확실하게 몰라서...  뭘 공부해야 될지 모르겠네요;;
속 시원하게 방향을 제시해주시면 감사하겠습니다.

  Hit : 5778     Date : 2013/04/10 01:47



    
rubiya header 라는 것은 클라이언트가 요청한 페이지를 브라우저에 출력하기 전에 미리 브라우저에 이 페이지가 가지고 있는 내용은 어떤 것 이다 라고 미리 알려줘서 브라우저가 대비 할 수 있도록 해주는 것입니다.

라는 설명이 명쾌하네요.

그런데 php_auth_user 는 실제로는 거의 사용되지 않아요ㅠㅠ

html의 form태그를 사용해서 post 메소드로 서버에 값을 보내주면 그 값을 데이터베이스에서 조회해보는 방식이 대부분입니다.

예를들어

<form method=post action=login.php>
아이디 : <input name=id type=text>
패스워드 : <input name=pw type=password>
<input type=submit>

이런 페이지에 아이디와 패스워드를 넣으면 login.php에서 $_POST[id] 와 $_POST[pw] 변수를 사용해서

mysql("select * from table where id='$_POST[id]' and pw='$_POST[pw]'");

이렇게 데이터베이스에 질의문을 보내 결과값이 반환되는지를 체크하는 방식입니다.
2013/04/10  
ka0r1 rubiya // 데이터베이스를 간과해서 그냥 넘어간게 탈이 되었네요.
제가 책을 보면서 하나하나씩 다 본게 아니고 진도를 빨리 나갈려고 그냥 넘어간 부분이 좀 있습니다.
어쨋든 좋은 답변 감사합니다.
2013/04/10