Tworzenie strony sieci Web zabezpieczonej hasłem przy użyciu programu Microsoft Office FrontPage 2003, stron ASP (Active Server Pages) oraz bazy danych programu Microsoft Access

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 825498 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Wersja tego artykułu dla programu Microsoft FrontPage 2002: 321439.
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

Streszczenie

W tym artykule krok po kroku opisano tworzenie prostej strony sieci Web zabezpieczonej hasłem przy użyciu programu FrontPage 2003, stron ASP (Active Server Pages) oraz bazy danych programu Microsoft Access.

Ważne:
  • Przykładowy kod przedstawiony tutaj nie został zaprojektowany w celu zastąpienia wbudowanych funkcji zabezpieczeń programu FrontPage 2003. Przykłady pokazują, jak utworzyć prosty mechanizm zabezpieczeń dla użytkowników przeglądających witrynę sieci Web. Zabezpieczenia programu FrontPage 2003 nie obsługują nazw użytkowników i haseł dodanych do bazy danych programu Microsoft Access.
  • Wprowadzone nazwy użytkownika i hasła są przesyłane w Internecie w postaci zwykłego tekstu. W celu zwiększenia bezpieczeństwa firma Microsoft zaleca korzystanie z serwera sieci Web obsługującego szyfrowanie SSL (Secure Sockets Layer). Aby uzyskać więcej informacji, skontaktuj się z administratorem witryny sieci Web lub usługodawcą internetowym (ISP).

Korzystanie z funkcji ASP w programie FrontPage 2003

Korzystanie z funkcji ASP w programie FrontPage 2003 wymaga dostępu do serwera sieci Web lub dyskowej sieci Web, która obsługuje strony ASP.

Tworzenie nowej witryny sieci Web w programie FrontPage 2003

Uwaga: W przedstawionym przykładzie założono, że tworzona witryna sieci Web będzie miała nazwę logon i będzie podsiecią w folderze głównym witryny sieci Web. Jeśli nazwa użytkownika ma być inna niż logon lub witryna sieci Web ma zostać utworzona w innej lokalizacji, należy odpowiednio zmodyfikować kroki opisane dalej w tym artykule.

Aby utworzyć nową witrynę sieci Web w programie FrontPage 2003, wykonaj następujące kroki:
  1. Uruchom program FrontPage 2003.
  2. W menu Plik kliknij polecenie Nowy.
  3. W okienku zadań kliknij pozycję Więcej szablonów witryn sieci Web, a następnie kliknij szablon Pusta witryna sieci Web.
  4. W polu Opcje wpisz lokalizację, w której ma być przechowywana nowa witryna sieci Web, używając następującego formatu:
    http://nazwa_serwera/logon
    gdzie nazwa_serwera jest nazwą serwera sieci Web obsługującego strony ASP.
  5. Kliknij przycisk OK.
Nowa pusta witryna sieci Web o nazwie logon zostanie otwarta w programie FrontPage 2003.

Tworzenie bazy danych

Baza danych umożliwia przechowywanie nazw użytkowników i haseł dzięki wykorzystaniu programu obsługi baz danych, takiego jak Microsoft Office Access 2003.

Uwaga: Jeśli baza danych ma zostać utworzona za pomocą innego programu niż Access 2003, należy odpowiednio zmodyfikować kroki opisane niżej.

Aby utworzyć bazę danych, wykonaj następujące kroki:
  1. Uruchom program Access 2003.
  2. W menu Plik kliknij polecenie Nowy.
  3. W okienku zadań kliknij pozycję Pusta baza danych.
  4. Wpisz nazwę pliku logon.mdb i kliknij przycisk Utwórz.
  5. W okienku Obiekty kliknij pozycję Tabele, a następnie kliknij przycisk Nowy.
  6. Kliknij przycisk Widok projektu, a następnie kliknij przycisk OK.
  7. W pierwszym wierszu kolumny Nazwa pola wpisz UID.
  8. W tym samym wierszu kolumny Typ danych kliknij pozycję Tekst, a następnie kliknij przycisk Klucz podstawowy na pasku narzędzi (oznaczony symbolem klucza).
  9. W drugim wierszu kolumny Nazwa pola wpisz PWD, a następnie kliknij pozycję Tekst w drugim wierszu kolumny Typ danych.
  10. W menu Plik kliknij polecenie Zapisz.
  11. W polu Nazwa tabeli wpisz tblUsers i kliknij przycisk OK.
  12. W menu Widok kliknij polecenie Widok arkusza danych.
  13. W kolumnie UID wpisz nazwę użytkownika tester.

    W kolumnie PWD wpisz hasło hasło.
  14. W menu Plik kliknij polecenie Zamknij, a następnie zamknij program Access 2003.

Importowanie bazy danych

Bazę danych z nazwami użytkowników i hasłami można zaimportować do programu FrontPage 2003. Aby to zrobić, wykonaj następujące kroki:
  1. W programie FrontPage 2003 po otworzeniu witryny logowania sieci Web kliknij polecenie Importuj w menu Plik.
  2. Kliknij przycisk Dodaj plik, zlokalizuj i kliknij plik logon.mdb utworzony wcześniej.

    Kliknij przycisk Otwórz.
  3. Kliknij przycisk Modyfikuj, wpisz _private/logon.mdb w polu Lokalizacja pliku w sieci web użytkownika, a następnie kliknij przycisk OK.

    Uwaga: W ścieżce do pliku występuje znak podkreślenia (_) przed nazwą „private”.
  4. Kliknij przycisk OK, aby zaimportować plik bazy danych.
  5. Jeśli zostanie wyświetlony monit o utworzenie połączenia z bazą danych dla importowanego pliku, kliknij przycisk Nie.

Tworzenie stron ASP

Przećwiczenie tego przykładu wymaga utworzenia kilku plików. Przede wszystkim należy utworzyć stronę główną witryny sieci Web, „niezabezpieczoną” stronę oraz stronę zabezpieczoną hasłem w celach testowych, a także stronę logowania sieci Web oraz plik logowania.

Tworzenie strony głównej

Strona ta jest domyślną stroną witryny, zawierającą łącza do utworzonej przez użytkownika niezabezpieczonej strony oraz strony sieci Web zabezpieczonej hasłem. Aby utworzyć stronę główną, wykonaj następujące kroki:
  1. W programie FrontPage 2003 kliknij przycisk Utwórz nową normalną stronę.
  2. W obszarze stopki okna dokumentu kliknij pozycję Kod, aby wyświetlić widok kodu.
  3. Zaznacz, a następnie usuń cały kod HTML strony sieci Web.
  4. Wpisz lub wklej następujący fragment kodu HTML na stronie sieci Web.
    <% @language="vbscript" %>
    <html>
    <head><title>Strona główna</title></head>
    <body>
    <h3>Strona główna</h3>
    <p>Użytkownik został zalogowany jako: 
    <%
      If Len(Session("UID")) = 0 Then
        Response.Write "<b>Użytkownik nie został zalogowany.</b>"
      Else
        Response.Write "<b>" & Sesja("UID") & "</b>"
      End If
    %>
    </p>
    <ul>
    <li><a href="passwordprotect.asp">Strona zabezpieczona hasłem</li>
    <li><a href="nonsecure.asp">Niezabezpieczona strona</li>
    </ul>
    </body>
    </html>
    
  5. Kliknij prawym przyciskiem myszy kartę nowa_strona_1.htm, a następnie kliknij polecenie Zapisz.

    Zapisz stronę jako default.asp w foderze głównym witryny sieci Web.
  6. W menu Plik kliknij polecenie Zamknij, aby zamknąć stronę sieci Web default.asp.

Tworzenie niezabezpieczonej strony

Będzie to typowa strona ASP, którą każdy może przeglądać. Aby utworzyć niezabezpieczoną stronę, wykonaj następujące kroki:
  1. W programie FrontPage 2003 kliknij przycisk Utwórz nową normalną stronę.
  2. W obszarze stopki okna dokumentu kliknij pozycję Kod, aby wyświetlić widok kodu.
  3. Zaznacz, a następnie usuń cały kod HTML strony sieci Web.
  4. Wpisz lub wklej następujący fragment kodu HTML na stronie sieci Web.
    <% @language="vbscript" %>
    <html>
    <head><title>Niezabezpieczona strona</title></head>
    <body>
    <h3>Niezabezpieczona strona</h3>
    <p>Użytkownik został zalogowany jako: 
    <%
      If Len(Session("UID")) = 0 Then
        Response.Write "<b>Użytkownik nie został zalogowany.</b>"
      Else
        Response.Write "<b>" & Sesja("UID") & "</b>"
      End If
    %>
    </p>
    <p><a href="default.asp">Powrót</a>
    </body>
    </html>
    
  5. Kliknij prawym przyciskiem myszy kartę nowa_strona_1.htm, a następnie kliknij polecenie Zapisz.

    Zapisz stronę jako nonsecure.asp w folderze głównym witryny sieci Web.
  6. W menu Plik kliknij polecenie Zamknij, aby zamknąć stronę sieci Web nonsecure.asp.

Tworzenie strony zabezpieczonej hasłem

Stronę tę tworzy się tak samo, jak niezabezpieczoną stronę sieci Web w poprzednim kroku, tyle że u góry strony należy dodać następujący wiersz kodu:
<!--#include virtual="/logon/_private/logon.inc"-->
Po dodaniu tego wiersza kodu strona ASP sieci Web stanie się stroną zabezpieczoną hasłem przy użyciu pliku logon.inc, który trzeba utworzyć. Aby utworzyć stronę sieci Web zabezpieczoną hasłem, wykonaj następujące kroki:
  1. W programie FrontPage 2003 kliknij przycisk Utwórz nową normalną stronę.
  2. W obszarze stopki okna dokumentu kliknij pozycję Kod, aby wyświetlić widok kodu.
  3. Zaznacz, a następnie usuń cały kod HTML strony sieci Web.
  4. Wpisz lub wklej w następujący kod HTML na stronie sieci Web.
    <% @language="vbscript" %>
    <!--#include virtual="/logon/_private/logon.inc"-->
    <html>
    <head><title>Strona zabezpieczona hasłem</title></head>
    <body>
    <h3>Strona zabezpieczona hasłem</h3>
    <p>Użytkownik został zalogowany jako: 
    <%
      If Len(Session("UID")) = 0 Then
        Response.Write "<b>Użytkownik nie został zalogowany.</b>"
      Else
        Response.Write "<b>" & Sesja("UID") & "</b>"
      End If
    %>
    </p>
    <p><a href="default.asp">Powrót</a>
    </body>
    </html>
    
  5. Kliknij prawym przyciskiem myszy kartę nowa_strona_1.htm, a następnie kliknij polecenie Zapisz.

    Zapisz stronę jako passwordprotect.asp w folderze głównym witryny sieci Web.
  6. W menu Plik kliknij polecenie Zamknij, aby zamknąć stronę sieci Web passwordprotect.asp.

Tworzenie strony logowania

Tworzona w tym kroku strona logowania przypomina typowe okno dialogowe logowania systemu Windows. Użytkownicy próbujący uzyskać dostęp do strony sieci Web zabezpieczonej hasłem są odsyłani do tej strony w celu wpisania nazwy użytkownika i hasła. Aby utworzyć stronę logowania, wykonaj następujące kroki:
  1. W programie FrontPage 2003 kliknij przycisk Utwórz nową normalną stronę.
  2. W obszarze stopki okna dokumentu kliknij pozycję Kod, aby wyświetlić widok kodu.
  3. Zaznacz, a następnie usuń cały kod HTML strony sieci Web.
  4. Wpisz lub wklej następujący kod HTML na stronie sieci Web.
    <% @language="vbscript" %>
    <!--#include virtual="/logon/_private/logon.inc"-->
    <%
      ' Czy strona była ogłaszana?
      If UCase(Request.ServerVariables("HTTP_METHOD")) = "POST" Then
        ' Jeśli tak, to sprawdź wprowadzoną nazwę użytkownika i hasło.
        If ComparePassword(Request("UID"),Request("PWD")) Then
          ' Jeśli porównanie wypadło pozytywnie, to zachowaj nazwę użytkownika...
          Session("UID") = Request("UID")
          ' ...i przekieruj do oryginalnej strony.
          Response.Redirect Session("REFERRER")
        End If
      End If
    %>
    <html>
    <head><title>Strona logowania</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">Wprowadź nazwę użytkownika i hasło</th>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td colspan="2" align="left">Wprowadź nazwę użytkownika i hasło.</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">Nazwa użytkownika</td>
        <td align="left"><input name="UID" type="text" size="20"></td>
        <td>&#xa0;</td>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td align="left">Hasło</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="ZALOGUJ"></td>
        <td>&#xa0;</td>
      </tr>
    </table>
    </form>
    </center></div>
    </body>
    </html>
    
  5. Kliknij prawym przyciskiem myszy kartę nowa_strona_1.htm, a następnie kliknij polecenie Zapisz.

    Zapisz stronę jako logon.asp w folderze głównym witryny sieci Web.
  6. W menu Plik kliknij polecenie Zamknij, aby zamknąć stronę sieci Web logon.asp.

Tworzenie pliku logowania

Plik logowania oferuje funkcje związane z nazwą użytkownika i hasłem. Jest on używany w przypadku zarówno stron sieci Web zabezpieczonych hasłem, jak i stron logowania sieci Web. Aby utworzyć plik logowania, wykonaj następujące kroki:
  1. W programie FrontPage 2003 kliknij przycisk Utwórz nową normalną stronę.
  2. W obszarze stopki okna dokumentu kliknij pozycję Kod, aby wyświetlić widok kodu.
  3. Zaznacz, a następnie usuń cały kod HTML strony sieci Web.
  4. Wpisz lub wklej następujący kod HTML na stronie sieci Web.
    <%
      ' Nie zachowuj tej strony w pamięci podręcznej.
      Response.CacheControl = "no-cache"
    
      ' Zdefiniuj nazwę tabeli użytkowników.
      Const USERS_TABLE  = "tblUsers"
      ' Podaj ścieżkę do strony logowania.
      Const LOGON_PAGE   = "/logon/logon.asp"
      ' Podaj ścieżkę do bazy danych logowania.
      Const MDB_URL      = "/logon/_private/logon.mdb"
    
      ' Sprawdź bieżącą nazwę użytkownika.
      If Len(Session("UID")) = 0 Then
        ' Czy jest on na stonie logowania?
        If LCase(LOGON_PAGE) <> LCase(Request.ServerVariables("URL")) Then
          ' Jeśli nie, ustaw zmienną sesji dla strony, która przesłała żądanie...
          Session("REFERRER") = Request.ServerVariables("URL")
          ' ...i przekieruj do strony logowania.
          Response.Redirect LOGON_PAGE
        End If
      End If
    
      ' Ta funkcja sprawdza kombinację nazwy użytkownika i hasła.
      Function ComparePassword(UID,PWD)
        ' Zdefiniuj zmienne.
        Dim strSQL, objCN, objRS
        ' Określ ciąg SQL.
        strSQL = "SELECT * FROM " & USERS_TABLE & " WHERE (UID='" & UID & "' AND PWD='" & PWD & "');"
        ' Utwórz obiekt połączenia z bazą danych.
        Set objCN = Server.CreateObject("ADODB.Connection")
        ' Otwórz obiekt połączenia z bazą danych.
        objCN.Open "driver={Microsoft Access Driver (*.mdb)}; dbq=" & Server.MapPath(MDB_URL) & "; uid=admin; pwd="
        ' Wykonaj kwerendę bazy danych.
        Set objRS = objCN.Execute(strSQL)
        ' Ustaw stan prawda/fałsz na potrzeby przeglądania bazy danych.
        ComparePassword = Not(objRS.EOF)
        ' Zamknij obiekty bazy danych.
        Set objRS = Nothing
        Set objCN = Nothing
      End Function
    %>
  5. Kliknij prawym przyciskiem myszy kartę nowa_strona_1.htm, a następnie kliknij polecenie Zapisz.

    Zapisz stronę jako logon.inc w folderze _private witryny sieci Web.
  6. W menu Plik kliknij polecenie Zamknij, aby zamknąć plik logon.inc.

Testowanie witryny logowania sieci Web

W tym celu wykonaj następujące kroki:
  1. W programie FrontPage 2003 w okienku Lista folderów kliknij prawym przyciskiem myszy plik Default.asp, a następnie kliknij polecenie Podgląd w przeglądarce.

    W przeglądarce sieci Web zostanie otwarta przykładowa strona główna i pojawi się informacja, że użytkownik nie został zalogowany.
  2. Kliknij łącze Niezabezpieczona strona.

    Zostanie załadowana strona i pojawi się informacja, że użytkownik nie został zalogowany. Kliknij łącze Powrót, aby powrócić do strony domyślnej.
  3. Kliknij łącze Strona zabezpieczona hasłem.

    Zamiast strony zabezpieczonej hasłem zostanie załadowana strona logon.asp.
  4. W polu Nazwa użytkownika wpisz tester, a następnie wpisz hasło w polu Hasło i kliknij przycisk ZALOGUJ.

    Pojawi się strona zabezpieczona hasłem z informacją, że użytkownik został zalogowany jako tester. Kliknij łącze Powrót, aby powrócić do strony domyślnej. Zostanie wyświetlona strona główna z informacją, że użytkownik został zalogowany jako tester.
  5. Kliknij łącze Niezabezpieczona strona.

    Zostanie wyświetlona niezabezpieczona strona z informacją, że użytkownik jest zalogowany jako tester.

Dostosowywanie witryny logowania sieci Web

Przykładową witrynę logowania sieci Web można zmodyfikować na następujące sposoby:
  • Przez dodanie nazwy użytkownika i hasła. Otwórz bazę danych. W tym celu kliknij dwukrotnie bazę danych w programie FrontPage 2003, a następnie dodaj użytkowników i hasła w tabeli tblUsers.
  • Przez zabezpieczenie hasłem innych stron sieci Web. Aby zabezpieczyć hasłem inną stronę w tej samej witrynie sieci Web, zapisz plik z rozszerzeniem ASP, na przykład Mojastrona.asp i dodaj dwa następujące wiersze kodu na samym początku tego pliku:
    <% @language="vbscript" %>
    <!--#include virtual="/logon/_private/logon.inc"-->
    
    W pierwszym wierszu określono, że jest używany język skryptowy Microsoft Visual Basic Scripting Edition (VBScript). Drugi wiersz zapewnia obsługę nazw użytkowników i haseł poprzez odwołanie się do wcześniej utworzonego pliku logowania.

Materiały referencyjne

Aby uzyskać dodatkowe informacje dotyczące integrowania stron ASP z bazami danych, klikaj następujące numery artykułów w celu wyświetlenia tych artykułów z bazy wiedzy 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 FP: Warunki korzystania z technologii ASP w programie FrontPage 2002

Właściwości

Numer ID artykułu: 825498 - Ostatnia weryfikacja: 8 marca 2004 - Weryfikacja: 1.3
Informacje zawarte w tym artykule dotyczą:
  • Microsoft Office FrontPage 2003
Słowa kluczowe: 
kbhowtomaster KB825498

Przekaż opinię

 

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