DetailPage-MSS-KB

기술 자료

기술 자료: 825498 - 마지막 검토: 2004년 1월 19일 월요일 - 수정: 1.0

본 문서의 Microsoft FrontPage 2002 버전에 대한 내용은 321439  (http://support.microsoft.com/kb/321439/KO/ ) 를 참조하십시오.

이 페이지에서

요약

이 문서에서는 FrontPage 2003, Active Server Pages(ASP) 및 Microsoft Access 데이터베이스를 사용하여 간단한 암호로 보호된 웹 페이지 솔루션을 만드는 방법을 설명합니다.

중요
  • 이 문서에 나와 있는 예제 코드는 FrontPage 2003 기본 제공 보안 기능을 대체하기 위한 것이 아닙니다. 사용자 웹 사이트에 방문할 사용자에게 간단한 보안 메커니즘을 제공하기 위한 것일 뿐입니다. FrontPage 2003 보안은 그 자체만으로는 Microsoft Access 데이터베이스에 추가된 사용자 이름 및 암호와 통합되어 있지 않습니다.
  • 입력한 사용자 이름과 암호는 인터넷을 통해 일반 텍스트로 전송됩니다. 보다 강력한 보안을 위해서는 SSL(Secure Sockets Layer) 암호화를 사용할 수 있는 웹 서버를 사용하는 것이 좋습니다. 자세한 내용은 웹 사이트 관리자나 인터넷 서비스 공급자(ISP)에 문의하십시오.

FrontPage 2003에서 ASP 기능 사용

FrontPage 2003에서 ASP 기능을 사용하려면 웹 서버 또는 ASP를 지원하는 디스크 기반 웹에 대한 액세스 권한이 있어야 합니다.

FrontPage 2003에서 새로운 웹 사이트 만들기

참고 예제 정보는 웹 사이트 로그온 이름을 사용자가 지정하고 웹 사이트 루트의 하위 웹으로 만든다고 가정합니다. 로그온 이외의 이름을 사용하거나 다른 위치에 웹 사이트를 만드는 경우 그에 맞게 본 문서의 단계를 수정해야 합니다.

FrontPage 2003에서 새로운 웹 사이트를 만들려면 다음 단계를 수행하십시오.
  1. FrontPage 2003을 시작합니다.
  2. 파일 메뉴에서 새로 만들기를 누릅니다.
  3. 작업창에서 다른 웹 사이트 서식 파일을 누른 다음 빈 웹 사이트를 누릅니다.
  4. 옵션에서 새로운 웹 사이트를 저장할 위치를 다음 형식으로 입력합니다.
    http://servername/logon
    여기서 servername 은 ASP 기반 웹 서버 이름입니다.
  5. 확인을 누릅니다.
지정된 로그온 이름을 가진 새로운 빈 웹 사이트가 FrontPage 2003에서 열립니다.

데이터베이스 만들기

Microsoft Office Access 2003 같은 데이터베이스 프로그램을 사용하여 사용자 이름과 암호를 저장할 데이터베이스를 만듭니다.

참고 Access 2003 이외의 프로그램을 사용하여 데이터베이스를 만드는 경우 그에 따라 다음 단계를 수정하십시오.

데이터베이스를 만들려면 다음 단계를 수행하십시오.
  1. Access 2003을 시작합니다.
  2. 파일 메뉴에서 새로 만들기를 누릅니다.
  3. 작업창에서 새 데이터베이스를 누릅니다.
  4. 파일 이름으로 logon.mdb를 입력한 다음 만들기를 누릅니다.
  5. 개체 창에서 테이블을 누른 다음 새로 만들기를 누릅니다.
  6. 디자인 보기를 누른 다음 확인을 누릅니다.
  7. 필드 이름 열의 첫 번째 행에 UID를 입력합니다.
  8. 해당하는 데이터 형식 열에서 텍스트를 누른 다음 도구 모음에서 키 기호로 나타나는 기본 키 단추를 누릅니다.
  9. 필드 이름 열의 두 번째 행에 PWD를 입력한 다음 데이터 형식 열의 두 번째 행에서 텍스트를 누릅니다.
  10. 파일 메뉴에서 저장을 누릅니다.
  11. 테이블 이름 상자에 tblUsers를 입력한 다음 확인을 누릅니다.
  12. 보기 메뉴에서 데이터시트 보기를 누릅니다.
  13. UID 열에 testuser를 입력합니다.

    PWD 열에 password를 입력합니다.
  14. 파일 메뉴에서 닫기를 누른 다음 Access 2003을 종료합니다.

데이터베이스 가져오기

만든 사용자 이름과 암호 데이터베이스를 FrontPage 2003으로 가져옵니다. 가져오려면 다음 단계를 수행하십시오.
  1. 로그온 웹 사이트를 연 상태에서 FrontPage 2003의 파일 메뉴에서 가져오기를 누릅니다.
  2. 파일 추가를 누른 다음 사용자가 만든 logon.mdb 파일을 누릅니다.

    열기를 누릅니다.
  3. 수정을 누르고 웹에서의 파일 경로 상자에 _private/logon.mdb를 입력한 다음 확인을 누릅니다.

    참고 파일 경로에서 "private" 앞에 밑줄 문자(_)가 있습니다.
  4. 확인을 눌러 데이터베이스 파일을 가져옵니다.
  5. 가져온 파일에 대해 데이터베이스 연결을 만들 것인지 묻는 메시지가 나타나면 아니오를 누릅니다.

ASP 페이지 만들기

이 예제로 작업하려면 여러 파일을 만들어야 합니다. 먼저 웹 사이트의 홈 페이지, 테스트를 위해 "안전하지 않은" 페이지 및 암호로 보호된 페이지를 만든 다음 로그온 웹 페이지와 로그온 포함 파일을 만듭니다.

홈 페이지 만들기

이 페이지는 사이트의 기본 페이지 역할을 하며 사용자가 만드는 안전하지 않은 페이지와 암호로 보호된 웹 페이지에 대한 링크를 포함하고 있습니다. 홈 페이지를 만들려면 다음 단계를 수행하십시오.
  1. FrontPage 2003에서 새 기본 페이지 만들기 단추를 누릅니다.
  2. 문서 창의 바닥글 영역에서 코드를 눌러 코드 보기를 표시합니다.
  3. 웹 페이지에서 모든 HTML 코드를 선택한 다음 제거합니다.
  4. 웹 페이지에 다음 HTML 코드를 입력하거나 붙여넣습니다.
    <html>
    <head><title>Home Page</title></head>
    <body>
    <h3>Home Page</h3>
    <p>You are logged on as: 
    <%
      If Len(Session("UID")) = 0 Then
        Response.Write "<b>You are not logged on.</b>"
      Else
        Response.Write "<b>" & Session("UID") & "</b>"
      End If
    %>
    </p>
    <ul>
    <li><a href="passwordprotect.asp">Password-Protected Page</li>
    <li><a href="nonsecure.asp">Nonsecure Page</li>
    </ul>
    </body>
    </html>
    
  5. new_page_1.htm 탭을 마우스 오른쪽 단추로 누른 다음 저장을 누릅니다.

    페이지를 웹 사이트의 루트 폴더에 default.asp로 저장합니다.
  6. 파일 메뉴에서 닫기를 눌러 default.asp 웹 페이지를 닫습니다.

안전하지 않은 페이지 만들기

모든 사람이 볼 수 있는 일반적인 ASP 페이지를 만듭니다. 안전하지 않은 페이지를 만들려면 다음 단계를 수행하십시오.
  1. FrontPage 2003에서 새 기본 페이지 만들기 단추를 누릅니다.
  2. 문서 창의 바닥글 영역에서 코드를 눌러 코드 보기를 표시합니다.
  3. 웹 페이지에서 모든 HTML 코드를 선택한 다음 제거합니다.
  4. 웹 페이지에 다음 HTML 코드를 입력하거나 붙여넣습니다.
    <% @language="vbscript" %>
    <html>
    <head><title>Nonsecure Page</title></head>
    <body>
    <h3>Nonsecure Page</h3>
    <p>You are logged on as: 
    <%
      If Len(Session("UID")) = 0 Then
        Response.Write "<b>You are not logged on.</b>"
      Else
        Response.Write "<b>" & Session("UID") & "</b>"
      End If
    %>
    </p>
    <p><a href="default.asp">Back to default</a>
    </body>
    </html>
  5. new_page_1.htm 탭을 마우스 오른쪽 단추로 누른 다음 저장을 누릅니다.

    웹 사이트의 루트 폴더에 페이지를 nonsecure.asp로 저장합니다.
  6. 파일 메뉴에서 닫기를 눌러 nonsecure.asp 웹 페이지를 닫습니다.

암호로 보호된 페이지 만들기

이 단계의 페이지는 페이지 윗 부분에 다음 코드 줄을 추가해야 하는 것을 제외하고 이전에 만든 안전하지 않은 웹 페이지와 같습니다.
<!--#include virtual="/logon/_private/logon.inc"-->
ASP 웹 페이지에 이 코드 줄을 추가하면 해당 페이지는 사용자가 만드는 logon.inc 파일에 의해 암호로 보호됩니다. 암호로 보호된 웹 페이지를 만들려면 다음 단계를 수행하십시오.
  1. FrontPage 2003에서 새 기본 페이지 만들기 단추를 누릅니다.
  2. 문서 창의 바닥글 영역에서 코드를 눌러 코드 보기를 표시합니다.
  3. 웹 페이지에서 모든 HTML 코드를 선택한 다음 제거합니다.
  4. 웹 페이지에 다음 HTML 코드를 입력하거나 붙여넣습니다.
    <% @language="vbscript" %>
    <!--#include virtual="/logon/_private/logon.inc"-->
    <html>
    <head><title>Password-Protected Page</title></head>
    <body>
    <h3>Password-Protected Page</h3>
    <p>You are logged on as: 
    <%
      If Len(Session("UID")) = 0 Then
        Response.Write "<b>You are not logged on.</b>"
      Else
        Response.Write "<b>" & Session("UID") & "</b>"
      End If
    %>
    </p>
    <p><a href="default.asp">Back to default</a>
    </body>
    </html>
  5. new_page_1.htm 탭을 마우스 오른쪽 단추로 누른 다음 저장을 누릅니다.

    웹 사이트의 루트 폴더에 페이지를 nonsecure.asp로 저장합니다.
  6. 파일 메뉴에서 닫기를 눌러 passwordprotect.asp 웹 페이지를 닫습니다.

로그온 페이지 만들기

일반적인 Windows 로그온 대화 상자와 비슷한 로그온 페이지를 만듭니다. 암호로 보호된 웹 페이지에 액세스하려고 하는 사용자는 자신의 사용자 이름과 암호를 입력할 수 있도록 이 페이지로 연결됩니다. 로그온 페이지를 만들려면 다음 단계를 수행하십시오.
  1. FrontPage 2003에서 새 기본 페이지 만들기 단추를 누릅니다.
  2. 문서 창의 바닥글 영역에서 코드를 눌러 코드 보기를 표시합니다.
  3. 웹 페이지에서 모든 HTML 코드를 선택한 다음 제거합니다.
  4. 웹 페이지에 다음 HTML 코드를 입력하거나 붙여넣습니다.
    <% @language="vbscript" %>
    <!--#include virtual="/logon/_private/logon.inc"-->
    <%
      ' Was this page posted to?
      If UCase(Request.ServerVariables("HTTP_METHOD")) = "POST" Then
        ' If so, check the username/password that was entered.
        If ComparePassword(Request("UID"),Request("PWD")) Then
          ' If comparison was good, store the user name...
          Session("UID") = Request("UID")
          ' ...and redirect back to the original page.
          Response.Redirect Session("REFERRER")
        End If
      End If
    %>
    <html>
    <head><title>Logon Page</title>
    <style>
    body  { font-family: arial, helvetica }
    table { background-color: #cccccc; font-size: 9pt; padding: 3px }
    td    { color: #000000; background-color: #cccccc; border-width: 0px }
    th    { color: #ffffff; background-color: #0000cc; border-width: 0px }
    </style>
    </head>
    <body bgcolor="#000000" text="#ffffff">
    <h3 align="center">&#xa0;</h3>
    <div align="center"><center>
    <form action="<%=LOGON_PAGE%>" method="POST">
    <table border="2" cellpadding="2" cellspacing="2">
      <tr>
        <th colspan="4" align="left">Enter User Name and Password</th>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td colspan="2" align="left">Please type your user name and password.</td>
        <td>&#xa0;</td>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td align="left">Site</td>
        <td align="left"><%=Request.ServerVariables("SERVER_NAME")%> &#xa0;</td>
        <td>&#xa0;</td>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td align="left">User Name</td>
        <td align="left"><input name="UID" type="text" size="20"></td>
        <td>&#xa0;</td>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td align="left">Password</td>
        <td align="left"><input name="PWD" type="password" size="20"></td>
        <td>&#xa0;</td>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td colspan="2" align="center"><input type="submit" value="LOGON"></td>
        <td>&#xa0;</td>
      </tr>
    </table>
    </form>
    </center></div>
    </body>
    </html>
  5. new_page_1.htm 탭을 마우스 오른쪽 단추로 누른 다음 저장을 누릅니다.

    웹 사이트의 루트 폴더에 페이지를 logon.asp로 저장합니다.
  6. 파일 메뉴에서 닫기를 눌러 logon.asp 웹 페이지를 닫습니다.

로그온 포함 파일 만들기

포함 파일은 사용자 이름과 암호 기능을 제공하며 암호로 보호된 웹 페이지와 로그온 웹 페이지 둘 모두 지원합니다. 로그온 포함 파일을 만들려면 다음 단계를 수행하십시오.
  1. FrontPage 2003에서 새 기본 페이지 만들기 단추를 누릅니다.
  2. 문서 창의 바닥글 영역에서 코드를 눌러 코드 보기를 표시합니다.
  3. 웹 페이지에서 모든 HTML 코드를 선택한 다음 제거합니다.
  4. 웹 페이지에 다음 HTML 코드를 입력하거나 붙여넣습니다.
    <%
      ' Do not cache this page.
      Response.CacheControl = "no-cache"
    
      ' Define the name of the users table.
      Const USERS_TABLE  = "tblUsers"
      ' Define the path to the logon page.
      Const LOGON_PAGE   = "/logon/logon.asp"
      ' Define the path to the logon database.
      Const MDB_URL      = "/logon/_private/logon.mdb"
    
      ' Check to see whether you have a current user name.
      If Len(Session("UID")) = 0 Then
        ' Are you currently on the logon page?
        If LCase(LOGON_PAGE) <> LCase(Request.ServerVariables("URL")) Then
          ' If not, set a session variable for the page that made the request...
          Session("REFERRER") = Request.ServerVariables("URL")
          ' ...and redirect to the logon page.
          Response.Redirect LOGON_PAGE
        End If
      End If
    
      ' This function checks for a username/password combination.
      Function ComparePassword(UID,PWD)
        ' Define your variables.
        Dim strSQL, objCN, objRS
        ' Set up your SQL string.
        strSQL = "SELECT * FROM " & USERS_TABLE & " WHERE (UID='" & UID & "' AND PWD='" & PWD & "');"
        ' Create a database connection object.
        Set objCN = Server.CreateObject("ADODB.Connection")
        ' Open the database connection object.
        objCN.Open "driver={Microsoft Access Driver (*.mdb)}; dbq=" & Server.MapPath(MDB_URL) & "; uid=admin; pwd="
        ' Run the database query.
        Set objRS = objCN.Execute(strSQL)
        ' Set the status to true/false for the database lookup.
        ComparePassword = Not(objRS.EOF)
        ' Close your database objects.
        Set objRS = Nothing
        Set objCN = Nothing
      End Function
    %>
  5. new_page_1.htm 탭을 마우스 오른쪽 단추로 누른 다음 저장을 누릅니다.

    웹 사이트의 _private 폴더에 페이지를 logon.inc로 저장합니다.
  6. 파일 메뉴에서 닫기를 눌러 logon.inc 파일을 닫습니다.

로그온 웹 사이트 테스트

이렇게 하려면 다음 단계를 수행하십시오.
  1. FrontPage 2003의 폴더 목록 창에서 Default.asp를 마우스 오른쪽 단추로 누른 다음 브라우저에서 미리 보기를 누릅니다.

    웹 브라우저가 예제 홈 페이지를 로드해서 사용자가 아직 로그온되지 않았음을 나타냅니다.
  2. Nonsecure page 링크를 누릅니다.

    로그온되지 않았다는 내용의 페이지가 로드됩니다. Back to default 링크를 눌러 기본 페이지로 돌아갑니다.
  3. Password-Protected page 링크를 누릅니다.

    암호로 보호된 페이지 대신 logon.asp 페이지가 로드됩니다.
  4. 사용자 이름 상자에 testuser를 입력하고 암호 상자에 password를 입력한 다음 로그온을 누릅니다.

    암호로 보호된 페이지가 나타나고 testuser로 로그온된 것을 표시합니다. Back to default 링크를 눌러 기본 페이지로 돌아갑니다. testuser로 로그온되었다는 내용의 홈 페이지가 로드됩니다.
  5. Nonsecure page 링크를 누릅니다.

    testuser로 로그온되었다는 내용의 페이지가 로드됩니다.

로그온 웹 사이트 사용자 지정

다음과 같은 방법으로 로그온 예제 웹 사이트를 사용자 지정할 수 있습니다.
  • 다음과 같이 사용자 이름과 암호를 추가합니다. 데이터베이스를 엽니다. 이렇게 하려면 FrontPage 2003에서 데이터베이스를 두 번 누른 다음 사용자를 tblUsers 테이블에 추가합니다.
  • 다른 웹 페이지를 암호로 보호하기: 웹 사이트에서 다른 웹 페이지를 암호로 보호하려면 Mypage.asp처럼 ASP 파일 확장명으로 파일을 저장한 다음 다음 두 줄을 파일 맨 위에 추가해야 합니다.
    <% @language="vbscript" %>
    <!--#include virtual="/logon/_private/logon.inc"-->
    
    첫 번째 줄은 스크립트 언어로 Microsoft Visual Basic Scripting Edition(VBScript)을 사용한다고 지정하고 두 번째 줄은 앞에서 만든 로그온 포함 파일의 사용자 이름과 암호 기능을 포함합니다.

참조

ASP(Active Server Page)를 통합하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
299987  (http://support.microsoft.com/kb/299987/KO/ ) HOWTO: 데이터베이스 및 ASP 세션을 사용한 ASP 보안 구현
300382  (http://support.microsoft.com/kb/300382/KO/ ) HOWTO: ASP 페이지에서 데이터베이스 연결 작성: 연결 문자열 예제
318287  (http://support.microsoft.com/kb/318287/KO/ ) FP2002: FrontPage 2002에서 ASP(Active Server Page)를 사용하는 데 필요한 항목




Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹 (http://support.microsoft.com/newsgroups/default.aspx) 에 참여하시기 바랍니다.

본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Office FrontPage 2003
키워드: 
kbhowtomaster KB825498
공유
추가 지원 옵션
Microsoft Community 지원 포럼
직접 문의하기
Microsoft Certified Partner 찾기
Microsoft Store