DetailPage-MSS-KB

Base de Dados de Conhecimento

Artigo: 825498 - Última revisão: quinta-feira, 15 de Março de 2007 - Revisão: 5.1

Para obter uma versão deste artigo referente ao Microsoft FrontPage 2002, consulte 321439  (http://support.microsoft.com/kb/321439/ ) .
Para obter uma versão deste artigo referente ao Microsoft FrontPage 2000, consulte 321503  (http://support.microsoft.com/kb/321503/ ) .

Este artigo poderá conter hiperligações para conteúdo em inglês (ainda não traduzido).

Nesta página

Sumário

Este artigo passo a passo descreve como criar uma solução de página Web simples protegida por palavra-passe utilizando o FrontPage 2003, ASP (Active Server Pages) e uma base de dados do Microsoft Access.

Importante
  • Os exemplos de código deste artigo não foram concebidos como substitutos da funcionalidade de segurança incorporada do FrontPage 2003. Os exemplos foram concebidos para fornecer um mecanismo de segurança simples apenas aos utilizadores que estejam a navegar no seu Web site. Como tal, a segurança do FrontPage 2003 não se integra com os nomes de utilizador e as palavras-passe adicionados à base de dados do Microsoft Access.
  • Os nomes de utilizador e palavras-passe introduzidos são transmitidos através da Internet em texto simples. Para aumentar a segurança, a Microsoft recomenda a utilização de um servidor da Web com capacidade para utilizar a encriptação da camada segura de sockets (SSL, Secure Sockets Layer). Para obter mais informações, contacte o administrador do Web site ou o fornecedor de serviços Internet (ISP, Internet Service Provider).

Utilizar as funcionalidades ASP no FrontPage 2003

Para utilizar as funcionalidades ASP no FrontPage 2003, tem de ter acesso a um servidor da Web ou a uma Web baseada no disco que suporte ASP.

Criar um novo Web site no FrontPage 2003

Nota: as informações do exemplo pressupõem que atribui o nome "logon" ao Web site e que o cria como uma subweb da raiz do Web site. Se utilizar um nome diferente de "logon", ou criar o Web site noutra localização, terá de modificar estes passos, ao longo do artigo, em conformidade.

Para criar um novo Web site no FrontPage 2003, siga estes passos:
  1. Inicie o FrontPage 2003.
  2. No menu Ficheiro, clique em Novo.
  3. No painel de tarefas, clique em Mais modelos de Web site e clique em Web site vazio.
  4. Em Opções, escreva a localização onde pretende guardar o novo Web site no seguinte formato:
    http://nome_servidor/logon
    Em que nome_servidor corresponde ao nome do servidor da Web com capacidade para ASP.
  5. Clique em OK.
O novo Web site vazio denominado "logon" é aberto no FrontPage 2003.

Criar uma base de dados

Crie uma base de dados para guardar nomes de utilizador e palavras-passe utilizando um programa de bases de dados como o Microsoft Office Access 2003.

Nota: se utilizar um programa diferente do Access 2003 para criar a base de dados, modifique estes passos em conformidade.

Para criar uma base de dados, siga estes passos:
  1. Inicie o Access 2003.
  2. No menu Ficheiro, clique em Novo.
  3. No painel de tarefas, clique em Base de dados vazia.
  4. Escreva logon.mdb para o nome de ficheiro e clique em Criar.
  5. No painel Objectos, clique em Tabelas e clique em Novo.
  6. Clique em Vista de estrutura e clique em OK.
  7. Na primeira linha da coluna Nome do campo, escreva UID.
  8. Na coluna Tipo de dados correspondente, clique em Texto e clique no botão Chave primária da barra de ferramentas (símbolo de uma chave).
  9. Na segunda linha da coluna Nome do campo, escreva PWD e clique em Texto na segunda linha da coluna Tipo de dados.
  10. No menu Ficheiro, clique em Guardar.
  11. Na caixa Nome da tabela, escreva tblUsers e clique em OK.
  12. No menu Ver, clique em Vista de folha de dados.
  13. Na coluna UID, escreva utilizadorteste.

    Na coluna PWD, escreva palavra-passe.
  14. No menu Ficheiro, clique em Fechar e saia do Access 2003.
Nota: por motivos de segurança, as palavras-passe têm de ser constituídas por letras maiúsculas, letras minúsculas e números.

Importar a base de dados

Importe a base de dados de nomes de utilizador e palavras-passe criada para o FrontPage 2003. Para o fazer, siga estes passos:
  1. No FrontPage 2003, com o Web site "logon" aberto, clique em Importar no menu Ficheiro.
  2. Clique em Adicionar ficheiro, localize e clique no ficheiro logon.mdb criado.

    Clique em Abrir.
  3. Clique em Modificar, escreva _private/logon.mdb na caixa Localização do ficheiro e clique em OK.

    Nota: existe um carácter de sublinhado (_) antes de "private", no caminho do ficheiro.
  4. Clique em OK para importar o ficheiro da base de dados.
  5. Se lhe for pedido para criar uma ligação à base de dados para este ficheiro importado, clique em Não.

Criar as páginas ASP

Tem de criar vários ficheiros para trabalhar com este exemplo. Primeiro, crie uma home page para o Web site, uma página "não segura" e uma página protegida por palavra-passe para testes e, em seguida, a página Web de início de sessão e o respectivo ficheiro de inclusão.

Criar a home page

Esta página será a página predefinida do site e inclui hiperligações para a página não segura e para a página Web protegida por palavra-passe criada anteriormente. Para criar uma home page, siga estes passos:
  1. No FrontPage 2003, clique em Ficheiro, clique em Novo e clique em Página em branco.
  2. Na área de rodapé da janela do documento, clique em Código para ver a vista de código.
  3. Seleccione e remova todo o código HTML da página Web.
  4. Escreva ou cole o seguinte código HTML na página Web.
    <% @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</a></li>
    <li><a href="nonsecure.asp">Nonsecure Page</a></li>
    
    </ul>
    </body>
    </html>
    
  5. Clique com o botão direito do rato no separador nova_página_1.htm e clique em Guardar.

    Guarde a página como default.asp na pasta raiz do Web site "logon".
  6. No menu Ficheiro, clique em Fechar para fechar a página Web default.asp.

Criar a página não segura

Crie uma página ASP normal que possa ser visualizada por qualquer pessoa. Para criar uma página não segura, siga estes passos:
  1. No FrontPage 2003, clique em Ficheiro, clique em Novo e clique em Página em branco.
  2. Na área de rodapé da janela do documento, clique em Código para ver a vista de código.
  3. Seleccione e remova todo o código HTML da página Web.
  4. Escreva ou cole o seguinte código HTML na página Web.
    <% @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></p>
    </body>
    </html>
    
  5. Clique com o botão direito do rato no separador nova_página_1.htm e clique em Guardar.

    Guarde a página como nonsecure.asp na pasta raiz do Web site "logon".
  6. No menu Ficheiro, clique em Fechar para fechar a página Web nonsecure.asp.

Criar a página protegida por palavra-passe

A página deste passo é igual à página Web não segura criada anteriormente, excepto pelo facto de ser necessário adicionar a seguinte linha de código no início da página:
<!--#include virtual="/logon/_private/logon.inc"-->
Quando adiciona esta linha de código a uma página Web ASP, a mesma passa a ser protegida por palavra-passe pelo ficheiro logon.inc criado anteriormente. Para criar uma página Web protegida por palavra-passe, siga estes passos:
  1. No FrontPage 2003, clique em Ficheiro, clique em Novo e clique em Página em branco.
  2. Na área de rodapé da janela do documento, clique em Código para ver a vista de código.
  3. Seleccione e remova todo o código HTML da página Web.
  4. Escreva ou cole o seguinte código HTML na página Web.
    <% @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. Clique com o botão direito do rato no separador nova_página_1.htm e clique em Guardar.

    Guarde a página como passwordprotect.asp na pasta raiz do Web site "logon".
  6. No menu Ficheiro, clique em Fechar para fechar a página Web passwordprotect.asp.

Criar a página de início de sessão

Crie uma página de início de sessão com um aspecto semelhante a uma caixa de diálogo de início de sessão normal do Windows. Os utilizadores que tentarem aceder à página Web protegida por palavra-passe serão reencaminhados para esta página para introduzirem o respectivo nome de utilizador e palavra-passe. Para criar uma página de início de sessão, siga estes passos:
  1. No FrontPage 2003, clique em Ficheiro, clique em Novo e clique em Página em branco.
  2. Na área de rodapé da janela do documento, clique em Código para ver a vista de código.
  3. Seleccione e remova todo o código HTML da página Web.
  4. Escreva ou cole o seguinte código HTML na página Web.
    <% @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. Clique com o botão direito do rato no separador nova_página_1.htm e clique em Guardar.

    Guarde a página como logon.asp na pasta raiz do Web site "logon".
  6. No menu Ficheiro, clique em Fechar para fechar a página Web logon.asp.

Criar o ficheiro de inclusão de início de sessão

O ficheiro de inclusão fornece a funcionalidade de nome de utilizador e palavra-passe e é utilizado pela página Web protegida por palavra-passe e pela página Web de início de sessão. Para criar o ficheiro de inclusão de início de sessão, siga estes passos:
  1. No FrontPage 2003, clique em Ficheiro, clique em Novo e clique em Página em branco.
  2. Na área de rodapé da janela do documento, clique em Código para ver a vista de código.
  3. Seleccione e remova todo o código HTML da página Web.
  4. Escreva ou cole o seguinte código HTML na página Web.
    <%
      ' 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='" & ParseText(UID) & _
          "' AND PWD='" & ParseText(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
    
      ' This function restricts text to alpha-numeric data only.
      Function ParseText(TXT)
        Dim intPos, strText, intText
        For intPos = 1 TO Len(TXT)
          intText = Asc(Mid(TXT,intPos,1))
          If (intText > 47 And intText < 58) Or _
             (intText > 64 And intText < 91) Or _
             (intText > 96 And intText < 123) Then
              strText = strText & Mid(TXT,intPos,1)
          End if
        Next
        ParseText = strText
      End Function
    %>
  5. Clique com o botão direito do rato no separador nova_página_1.htm e clique em Guardar.

    Guarde a página como logon.inc na pasta _private do Web site "logon".
  6. No menu Ficheiro, clique em Fechar para fechar o ficheiro logon.inc.

Testar o Web site de início de sessão

Para testar o Web site de início de sessão ("logon"), siga estes passos:
  1. No FrontPage 2003, no painel Lista de pastas, clique com o botão direito do rato em Default.asp e clique em Pré-visualizar no browser.

    O browser carrega a home page de exemplo e mostra que o utilizador não tem sessão iniciada.
  2. Clique na hiperligação Página não segura.

    A página é carregada e mostra que o utilizador não tem sessão iniciada. Clique na hiperligação Regressar à página predefinida para regressar à página predefinida.
  3. Clique na hiperligação Página protegida por palavra-passe.

    A página logon.asp é carregada em vez da página protegida por palavra-passe.
  4. Na caixa Nome de utilizador, escreva utilizadorteste, escreva palavra-passe na caixa Palavra-passe e clique em INICIAR SESSÃO.

    A página protegida por palavra-passe é apresentada e mostra que tem sessão iniciada como utilizadorteste. Clique na hiperligação Regressar à página predefinida para regressar à página predefinida. A home page é carregada e mostra que tem sessão iniciada como utilizadorteste.
  5. Clique na hiperligação Página não segura.

    A página é carregada e mostra que tem sessão iniciada como utilizadorteste.

Personalizar o Web site de início de sessão

Pode personalizar o Web site de início de sessão de exemplo das seguintes formas:
  • Adicione nomes de utilizador e palavras-passe: pode abrir a base de dados. Para tal, faça duplo clique na base de dados, no FrontPage 2003, e adicione utilizadores à tabela tblUsers.
  • Proteja outras páginas Web com palavra-passe: para proteger outras páginas Web do Web site, tem de guardar o ficheiro com uma extensão ASP, por exemplo, Mypage.asp e, em seguida, adicionar as seguintes duas linhas no início de cada ficheiro:
    <% @language="vbscript" %>
    <!--#include virtual="/logon/_private/logon.inc"-->
    
    A primeira linha especifica que está a utilizar o Microsoft Visual Basic Scripting Edition (VBScript) como linguagem de script e a segunda linha inclui a funcionalidade de nome de utilizador e palavra-passe do ficheiro de inclusão de início de sessão criado anteriormente.

Mais Informação

Os nomes de utilizador e palavras-passe guardados na base de dados não são encriptados. Mesmo que utilize a máscara de introdução de palavras-passe os dados não são encriptados. Por este e outros motivos, as bases de dados do Access não devem ser utilizadas para Web sites de ambientes de produção. Para obter mais informações sobre como ajudar a proteger as comunicações de HTTP entre cliente e servidor, clique nos números de artigo que se seguem para visualizar os artigos na base de dados de conhecimento da Microsoft (KB, Microsoft Knowledge Base):
299525  (http://support.microsoft.com/kb/299525/ ) How to set up SSL by using IIS 5.0 and Certificate Server 2.0
299875   (http://support.microsoft.com/kb/299875/ ) How to implement SSL in IIS

Referências

Para obter mais informações sobre como integrar ASP (Active Server Pages) e bases de dados, clique nos números de artigo que se seguem para visualizar os artigos na base de dados de conhecimento da Microsoft (KB, Microsoft Knowledge Base):
299987  (http://support.microsoft.com/kb/299987/ ) How to use database and ASP sessions to implement ASP security
300382  (http://support.microsoft.com/kb/300382/ ) How to create a database connection from an ASP page in IIS
318287  (http://support.microsoft.com/kb/318287/ ) O que é necessário para utilizar ASP no FrontPage 2002

A informação contida neste artigo aplica-se a:
  • Microsoft Office SharePoint Designer 2007
  • Microsoft Office FrontPage 2003
Palavras-chave: 
kbdatabase kbasp kbhowtomaster KB825498
Partilhar
Opções de suporte adicionais
Fóruns de Suporte da Comunidade Microsoft
Contacte-nos directamente
Encontre um parceiro certificado Microsoft
Loja Microsoft