진

HTTP 로그인 인증창에 대해 질문합니다 도와주세요ㅠㅠ

· 2012-08-26 (일) 22:13:59 · 3732 · 2
안녕하세요
저는 로그인페이지를 만들었는데..어떤 고객의 요청으로 인해
로그인페이지보다 그냥 "HTTP 로그인 인증창"이 띄울수있도록 원하답니다.
그래서 고객의 요청대로 그렇게 만들었는데..잘 안되었어요 ㅠㅠ
▒▒▒▒▒ 로그인 페이지 ▒▒▒▒▒
<?
 require "include/config.php";
 include "include/index_cookie.php";
   
 if($_SESSION[mb_userid]) { go_d(0,'m_sub01.html');  } // 이미 로그인 된경우 메인으로
?>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
<script language="JavaScript" src="<?echo"$HOME_PATH"?>/include/ebook.js"></script>
<LINK REL="StyleSheet" HREF="<?echo"$HOME_PATH"?>/include/style.css" type="text/css">
<link href="../include/style.css" rel="stylesheet" type="text/css">

<form action="app_login_act.html" method=post name=ebook_login onsubmit='return valid_ebooklogin_check()'>  
 <input type='hidden' name='mode' value='ebook_login'>
<?
 if($_SERVER[HTTP_REFERER]) {
  $returl = $_SERVER[HTTP_REFERER];
 }else if($returl) {
  $returl = $returl;
 }
 echo"<input type=hidden name=url value='$returl'>";
// echo"<input type=hidden name=url value='$PHP_SELF'>";
?>
<table width=80% border=0 align=center cellpadding="0" cellspacing="0">
  <tr>
    <td height="25" colspan=2 align=center>
      로그인
  <tr>
    <td width="35%" height="25">로그인
    <td width="65%" height="25"><input name="mb_userid" type="text" id="mb_userid" size="20">
  <tr>
    <td width="35%" height="25">비밀번호
    <td width="65%" height="25"><input name="mb_pwd" type="password" id="mb_pwd" size="20" onKeyPress="if(window.event.keyCode==13) ebooklogin();">
  <tr>
    <td height="25" colspan=2>  
        <input type="checkbox" onClick="id_save_delete(document.ebook_login);" name="id_save">자동로그인 
  <tr>
    <td height="25" colspan=2 align=center>
      <input type="submit" value="로그인" onclick="javascript:ebooklogin()">
      </td>
      </tr>
</table>
</form>
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
으로 잘 되었지만..
 
▒▒▒▒▒ HTTP 로그인 인증창 ▒▒▒▒▒
<?
 require "include/config.php";
 include "include/index_cookie.php";
   
 if($_SESSION[mb_userid]) { go_d(0,'m_sub01.html');  } // 이미 로그인 된경우 메인으로
function authenticate() // 인증을 받기 위해 인증 창을 여는 함수!
{
   // 인증 창이 떴을때의 문구와 인증 창의 헤더 설정!
      Header( "WWW-authenticate: basic realm=\"ADMIN영역\" ");
      Header( "HTTP/1.0 401 Unauthorized");
     
   // 아이디와 비밀번호가 일치하지 않을때 보여주는 문구!
   echo("이곳에 들어오시려면 관리자 아이디 암호가 필요합니다.");
      exit;
}
// 관리자 정보가 없을때 인증 창을 불러내는 부분으로서 관리자 인증을 받을때까지 인증 창을 띄움.
if(!isset($_SESSION[mb_userid]) || ($PHP_AUTH_USER!='mb_userid' || $PHP_AUTH_PW!='mb_pwd')) {
 authenticate();
}
?>
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
수정해봤는데.. 잘 안되었습니다 ㅠㅠㅠ
도와주세요 ㅠㅠㅠ
|

댓글 2개

죄송... HTTP Authorization 창이 뜨는걸 말씀하신거였네요... 저는 php 로 모달창 echo 해서 자스로 모달창을 별도로 띄우시려고 하는줄 알고, 엉뚱한 답글을 달았었네요.. ㅎㅎㅎㅎ

http://php.net/manual/en/features.http-auth.php
전에는 javascript는 잘한다고 했는데... 뭘라고 답변달았는지...

아파치 Http Authentication을 사용하게 되면 별도의 인증창이 필요없습니다. 그리고 "HTTP 로그인 인증창"은 잘 한 것 같은데 문제는 세션을 생성하는 부분이 없습니다. 인증이 맞으면세션을 생성을 해야 무한 로그인 안되는 루프에 빠지지 않겠죠... 그러므로 if절의 else를 만들어 세션을 생성하는 문구를 넣어주시면 됩니다.

if(!isset($_SESSION[mb_userid]) || ($PHP_AUTH_USER!='mb_userid' || $PHP_AUTH_PW!='mb_pwd')) {
authenticate();
} else {
$_SESSION['mb_userid'] = 'mb_userid';
}

이런 식으로요... 그런데 실제로 아이디가 mb_userid나 비번이 mb_pwd는 아니겠죠? 그리고 이부분을 디비와 연동해서 디비에서 mb_userid가 사용하는 mb_passwd가 같은지 않은지를 확인하는 방법을 쓸 수도 있습니다.
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
13-03-03 조회 6,200
13-03-01 조회 5,536
13-03-01 조회 8,265
13-03-01 조회 6,233
13-02-26 조회 3,853
13-02-26 조회 3,804
13-02-26 조회 4,697
13-02-24 조회 8,135
13-02-24 조회 4,216
13-02-24 조회 3,459
13-02-24 조회 5,255
13-02-24 조회 5,265
13-02-24 조회 4,336
13-02-24 조회 5,668
13-02-24 조회 9,355
13-02-14 조회 5,045
13-02-13 조회 8,969
13-01-29 조회 7,626
13-01-24 조회 4,979
13-01-24 조회 4,859
13-01-17 조회 4,258
13-01-16 조회 4,273
13-01-08 조회 4,353
12-12-27 조회 4,007
12-12-20 조회 1.1만
12-12-20 조회 3,338
12-12-06 조회 4,318
12-12-01 조회 4,060
12-11-28 조회 5,635
12-11-25 조회 5,338
12-10-20 조회 4,619
12-10-03 조회 4,757
12-09-26 조회 4,957
12-09-15 조회 8,400
12-09-14 조회 5,421
12-09-11 조회 3,904
12-09-10 조회 3,944
12-09-05 조회 8,814
12-08-29 조회 4,580
12-08-26 조회 3,733
12-08-23 조회 3,436
12-08-22 조회 3,506
12-08-22 조회 4,320
12-08-21 조회 3,475
12-08-20 조회 3,403
12-08-20 조회 9,208
12-08-15 조회 4,325
12-08-13 조회 3,234
12-08-11 조회 4,649
12-08-05 조회 4,507
12-08-03 조회 3,289
12-08-03 조회 3,968
12-08-02 조회 4,957
12-07-29 조회 4,062
12-07-26 조회 3,655
12-07-26 조회 3,524
12-07-22 조회 3,432
12-07-20 조회 3,263
12-07-19 조회 4,137
12-07-19 조회 3,390
12-07-16 조회 3,520
12-07-16 조회 4,432
12-07-15 조회 3,486
12-07-12 조회 7,338
12-07-12 조회 4,977
12-07-11 조회 3,018
12-07-09 조회 3,183
12-07-05 조회 3,799
12-07-04 조회 4,373
12-07-04 조회 3,781
12-07-04 조회 4,309
12-06-29 조회 3,758
12-06-27 조회 3,345
12-06-24 조회 3,816
12-06-22 조회 4,124
12-06-22 조회 8,542
12-06-22 조회 3,196
12-06-21 조회 3,211
12-06-17 조회 3,846
12-06-14 조회 3,940
12-06-14 조회 3,224
12-06-08 조회 4,382
12-06-06 조회 3,340
12-06-04 조회 4,089
12-05-26 조회 4,937
12-05-26 조회 3,888
12-05-25 조회 3,172
12-05-24 조회 3,277
12-05-22 조회 3,316
12-05-20 조회 2,945
12-05-16 조회 3,097
12-05-15 조회 3,488
12-05-10 조회 3,928
12-05-08 조회 3,440
12-05-04 조회 3,292
12-05-03 조회 4,231
12-05-02 조회 3,383
12-05-02 조회 3,143
12-05-02 조회 3,247
12-04-26 조회 3,401