Создание защищенной паролем веб-страницы с помощью Microsoft Office FrontPage 2003, ASP (Active Server Pages) и базы данных Microsoft Access

Переводы статьи Переводы статьи
Код статьи: 825498 - Vizualiza?i produsele pentru care se aplic? acest articol.
Версия данной статьи для Microsoft FrontPage 2002: 321439.
Развернуть все | Свернуть все

В этой статье

Аннотация

Эта статья содержит описание процесса создания простого защищенного паролем веб-проекта с помощью FrontPage 2003, ASP (Active Server Pages) и базы данных Microsoft Access.

Внимание!
  • Представленный в статье программный код не является заменой встроенных в FrontPage 2003 функций обеспечения безопасности. Он служит только для обеспечения безопасности пользователей, которые получают доступ к веб-узлу. В этом контексте реализованные в FrontPage 2003 функции безопасности не поддерживают имена пользователей и пароли, которые используются в базах данных Microsoft Access.
  • Введенные учетные данные передаются в Интернете в формате обычного текста. В целях повышения безопасности корпорация Microsoft рекомендует использовать веб-сервер, который поддерживает шифрование SSL (Secure Sockets Layer). Для получения дополнительных сведений обратитесь к администратору веб-узла или поставщику услуг Интернета.

Использование функций ASP в FrontPage 2003

Для использования функций ASP в FrontPage 2003 необходимо наличие доступа к веб-серверу или веб-узлу на диске, который поддерживает технологию ASP.

Создание веб-узла с помощью FrontPage 2003

Примечание. В рассмотренном примере дочерний веб-узел создается в корневом каталоге основного узла и называется «logon». В случае использования другого имени или места расположения веб-узла необходимо соответствующим образом откорректировать описанные в этой статье действия.

Для создания веб-узла средствами FrontPage 2003 необходимо выполнить следующие действия.
  1. Запустите FrontPage 2003.
  2. В меню Файл выберите команду Создать.
  3. На панели задач нажмите кнопку Другие шаблоны веб-узлов и выберите Пустой веб-узел.
  4. В поле Параметры в указанном ниже формате введите место хранения нового веб-узла:
    http://имя_сервера/logon
    где имя_сервера — это имя веб-сервера, который поддерживает технологию ASP.
  5. Нажмите кнопку ОК.
В FrontPage 2003 будет открыт пустой веб-узел «logon».

Создание базы данных

С помощью Office Access 2003 необходимо создать базу данных для хранения имен пользователей и паролей.

Примечание. Измените соответствующим образом представленные ниже действия в случае создания базы данных средствами другой программы.

Чтобы создать базу данных, выполните следующие действия.
  1. Запустите Access 2003.
  2. В меню Файл выберите команду Создать.
  3. На панели задач щелкните ссылку Новая база данных.
  4. Введите имя logon.mdb и нажмите кнопку Создать.
  5. На панели Объекты нажмите кнопку Таблицы, а затем — Создать.
  6. Выделите строку Конструктор и нажмите кнопку OK.
  7. В первой строке в столбце Имя поля введите UID.
  8. В столбце Тип данных выберите Текстовый и нажмите на панели инструментов кнопку Ключевое поле (кнопка со значком ключа).
  9. Во второй строке в столбце Имя поля введите PWD, а затем установите значение Текстовый в столбце Тип данных.
  10. В меню Файл выберите команду Сохранить.
  11. В поле Имя таблицы введите tblUsers и нажмите кнопку OK.
  12. В меню Вид выберите команду Режим таблицы.
  13. В столбце UID введите testuser.

    В столбце PWD введите password.
  14. В меню Файл выберите команду Закрыть и выйдите из Access 2003.

Импорт базы данных

Чтобы импортировать созданную базу данных имен пользователей и паролей в FrontPage 2003, выполните следующие действия.
  1. В FrontPage 2003 (веб-узел «logon» остается открытым) выберите в меню Файл команду Импорт.
  2. Нажмите кнопку Добавить файл, найдите и выделите созданную базу данных logon.mdb.

    Нажмите кнопку Открыть.
  3. Нажмите кнопку Изменить, введите в поле Размещение файла на веб-узле строку _private/logon.mdb и нажмите кнопку OK.

    Примечание. Перед словом «private» в пути к файлу стоит знак подчеркивания (_).
  4. Нажмите кнопку OK, чтобы импортировать файл базы данных.
  5. Если появится предложение создать подключение к базе данных для импортированного файла, нажмите кнопку Нет.

Создание страниц ASP

Для работы с представленным примером необходимо создать несколько файлов: домашнюю страницу веб-узла, незащищенную и защищенную паролем страницы, а затем — страницу входа и заголовочный файл входа.

Создание домашней страницы

Эта страница используется в качестве исходной и содержит ссылки на незащищенную и защищенную паролем страницы веб-узла. Для создания домашней страницы выполните следующие действия.
  1. В окне FrontPage 2003 нажмите кнопку Создание новой обычной страницы.
  2. Чтобы открыть окно программного кода, в нижней части окна документа выберите представление Код.
  3. Выделите и удалите весь код HTML, который находится на веб-странице.
  4. Скопируйте на страницу следующий код HTML.
    <% @language="vbscript" %>
    <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 и выберите команду Сохранить.

    Сохраните страницу под именем passwordprotect.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 и выберите команду Сохранить.

    Сохраните страницу под именем logon.inc в корневом каталоге веб-узла.
  6. Чтобы закрыть страницу logon.inc, выберите в меню Файл команду Закрыть.

Тестирование веб-узла Logon

Выполните следующие действия.
  1. В окне программы FrontPage 2003 на панели Список папок щелкните правой кнопкой мыши файл Default.asp и выберите команду Просмотр в обозревателе.

    Будет загружена домашняя страница и появится сообщение о том, что не были введены учетные данные.
  2. Щелкните ссылку Nonsecure page.

    Страница загрузится и появится сообщение о том, что не были введены учетные данные. Нажмите ссылку Back to default, чтобы вернуться на домашнюю страницу.
  3. Щелкните ссылку Password-Protected page.

    Вместо защищенной паролем страницы загрузится файл logon.asp.
  4. В поле User Name введите testuser, в поле Passwordpassword и нажмите кнопку LOGON.

    Будет отображена защищенная паролем страница и появится сообщение о выполненном с помощью учетной записи testuser входе. Нажмите ссылку Back to default, чтобы вернуться на домашнюю страницу. Будет отображена домашняя страница и появится сообщение о выполненном с помощью учетной записи testuser входе.
  5. Щелкните ссылку Nonsecure page.

    Будет отображена незащищенная страница и появится сообщение о выполненном с помощью учетной записи testuser входе.

Настройка веб-узла Logon

Возможны следующие варианты изменения конфигурации веб-узла Logon.
  • Добавление имен пользователей и паролей (можно открыть базу данных). Два раза щелкните название базы данных в FrontPage 2003 и добавьте пользователей в таблицу tblUsers.
  • Защита паролем других веб-страниц. Чтобы защитить паролем страницу веб-узла, необходимо сохранить файл с расширением ASP (например, моя_страница.asp) и добавить в верхнюю часть файла следующие строки:
    <% @language="vbscript" %>
    <!--#include virtual="/logon/_private/logon.inc"-->
    
    В первой строке указан Microsoft Visual Basic Scripting Edition (VBScript) в качестве языка написания сценария, а вторая используется для подключения функций проверки учетных данных из созданного ранее заголовочного файла.

Ссылки

Для получения дополнительных сведений об использовании страниц ASP с базами данных обратитесь к следующим статьям Microsoft Knowledge Base.
299987 HOW TO: Use Database and ASP Sessions to Implement ASP Security
300382 HOW TO: Create a Database Connection from an ASP Page in IIS
318287 FP2002: What You Need to Use Active Server Pages (ASP) in FrontPage 2002

Свойства

Код статьи: 825498 - Последний отзыв: 3 февраля 2004 г. - Revision: 1.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Office FrontPage 2003
Ключевые слова: 
kbhowtomaster KB825498

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com