phpsource/회원인증2002. 2. 25. 14:30
파일 구성
adult.php - 성인 인증을 통과한 접속자에게 성인물을 제공함
로직
< 성인용 페이지 로직 >
성인 인증받지 못한 방문자 걸러내기
PHP 4.0.0 ~ 4.0.3일 때
[code php;gutter:false] session_start(); if (!isset($HTTP_SESSION_VARS["AdultCard"]) || "ok" != $HTTP_SESSION_VARS["AdultCard"]["permission"]) { // // 로그인을 거치지 않는 방문자 // ?> <META http-equiv='refresh' content='0; url=home.php'> <?php exit; } $AdultCard = $HTTP_SESSION_VARS["AdultCard"]; // // 성인 인증 성공 // [/code]
성인 인증에 성공한 다음에 세션변수 $AdultCard를 다룰 때는 반드시 전역변수 $AdultCard를 가지고 다루시기 바랍니다. 그래야 변경된 세션변수값이 정상적으로 다음 페이지에 넘어갑니다.
PHP 4.0.4 ~ 4.0.5일 때
[code php;gutter:false] session_start(); if (!isset($HTTP_SESSION_VARS["AdultCard"]) || "ok" != $HTTP_SESSION_VARS["AdultCard"]["permission"]) { // // 로그인을 거치지 않는 방문자 // ?> <META http-equiv='refresh' content='0; url=home.php'> <?php exit; } $AdultCard = & $HTTP_SESSION_VARS["AdultCard"]; // // 성인 인증 성공 // [/code]
성인 인증에 성공한 다음에 세션변수 $AdultCard를 다룰 때는 전역변수 $AdultCard 또는 $HTTP_SESSION_VARS["AdultCard"] 중 어느 것을 가지고 다루어도 관계없으나 가능하면 $HTTP_SESSION_VARS["AdultCard"]으로 다루도록 하세요. 그것이 향후 문서를 PHP 4.1.0으로 업그레이드할 때 작업하기가 편할 것입니다.
PHP 4.1.0 ~ 일 때
[code php;gutter:false] session_start(); if (!isset($_SESSION["AdultCard"]) || "ok" != $_SESSION["AdultCard"]["permission"]) { // // 로그인을 거치지 않는 방문자 // ?> <META http-equiv='refresh' content='0; url=home.php'> <?php exit; } // // 성인 인증 성공 // [/code]
성인 인증에 성공한 다음에 세션변수 $AdultCard를 다룰 때는 전역변수 $AdultCard 대신에 $_SESSION["AdultCard"]을 가지고 다루어 주시기 바랍니다. 이렇게 하는 것이 보안성 측면에서 유리하다고 PHP 메뉴얼에 적혀있네요. 물론 $_SESSION 대신에 이전 버전부터 사용하던 $HTTP_SESSION_VARS를 이용하셔도 관계없습니다만 향후 업그레이드될 때의 호환성을 고려한다면 $_SESSION이 더 나을 것 같습니다.
성인용 게시물
위에서와 같이 성인 인증을 거친 방문자에게는 적절한(?) 내용을 보여주어야 겠지요. 그 내용은 저도 모릅니다. 알아서 하세요. 단 로그아웃을 위한 메뉴 하나 정도는 꼭 필요하겠지요.
[code html;gutter:false] <HTML> <HEAD> <TITLE>성인용 페이지</TITLE> </HEAD> <BODY> // // 성인용 게시물(내용 생략) // <A href="./logout.php">로그아웃</A> </BODY> </HTML> [/code]

Posted by 방글24