В настоящее время вы работаете в автономном режиме; ожидается повторное подключение к Интернету

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

Поддержка Office 2003 завершена

8 апреля 2014 г. корпорация Майкрософт прекратила поддержку Office 2003. Это повлияло на обновления программного обеспечения и параметры безопасности. Узнайте, что это значит для вас и какие меры по безопасности можно предпринять.

Версия данной статьи для 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 — последний просмотр: 02/03/2004 13:52:00 — редакция: 1.0

Microsoft Office FrontPage 2003

  • kbhowtomaster KB825498
Отзывы и предложения