Como criar uma página Web que está protegida por palavra-passe utilizando o Expression Web, Active Server Pages e uma base de dados do Access

Traduções de Artigos Traduções de Artigos
Artigo: 928706 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Este artigo passo a passo descreve como criar uma solução de página Web simples que fornece protecção de palavra-passe utilizando o Microsoft Expression Web, o ASP (Active Server Pages) e uma base de dados do Microsoft Access.
  • o código de exemplo deste artigo não foi concebido para substituir a funcionalidade de segurança incorporada do Expression Web. Os exemplos são concebidos para fornecer um mecanismo de segurança simples apenas para utilizadores que está a procurar no Web site. Por conseguinte, a segurança do Expression Web não se integra com os nomes de utilizador e as palavras-passe adicionadas à base de dados do Access.
  • nomes de o utilizador e palavras-passe que são escritas em são transmitidas através da Internet em texto simples. Para ajudar a aumentar a segurança, recomendamos que utilize um servidor Web que pode utilizar a encriptação Secure Sockets Layer (SSL). Para obter mais informações, contacte o administrador do Web site ou fornecedor de serviços Internet (ISP).

Introdução

Este artigo descreve como criar uma página Web que está protegida por palavra-passe utilizando o Expression Web, ASP e uma base de dados do Access.

Mais Informação

Utilizar as funcionalidades ASP no Expression Web

Antes de utilizar as funcionalidades ASP no Expression Web, tem de ter acesso a um servidor Web ou a uma Web baseada no disco que suporte ASP.

Criar um novo Web site na Web de expressão

Nota As informações de exemplo assume que nome um início de sessão Web site e que o site de início de sessão é criado como um subformulário Web na raiz do Web site. Se utilizar um nome diferente de início de sessão, ou criar um Web site numa localização alternativa, tem de modificar os passos ao longo deste artigo em conformidade.

Para criar um novo Web site no Expression Web, siga estes passos:
  1. Inicie o Expression Web.
  2. No menu ficheiro , clique em Novo e, em seguida, clique em Web site.
  3. Na caixa de diálogo Novo , clique em Esvaziar Web Site no separador Web Site .
  4. Na caixa Especifique a localização do novo Web site , escreva a localização onde pretende guardar o novo Web site no seguinte formato:

    http:// nomeservidor / início de sessão
  5. Clique em OK .
O novo Web site vazio denominado início de sessão é aberto no Expression Web.

Criar uma base de dados

É possível criar a base de dados para armazenar nomes de utilizador e palavras-passe utilizando um programa de base de dados tal como o Microsoft Office Access 2003.

Nota Se utilizar um programa de base de dados diferente do Access 2003 para criar a base de dados, modificar 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 o nome do ficheiro e, em seguida, clique em criar .
  5. No painel objectos , clique em tabelas e, em seguida, clique em Novo .
  6. Clique em Vista de estrutura e, em seguida, 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, em seguida, clique no botão Chave primária na barra de ferramentas.

    Nota O botão Chave primária é apresentado como um símbolo de chave.
  9. Na segunda linha da coluna Nome do campo , escreva PWD e, em seguida, 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, em seguida, clique em OK .
  12. No menu Ver , clique em Vista de folha de dados .
  13. Na coluna UID , escreva utilizadorteste .
    Na coluna PWD , escreva a palavra-passe .
  14. No menu ficheiro , clique em Fechar e saia do Access 2003.
Nota Por motivos de segurança, palavras-passe estão limitadas a uma mistura de letras maiúsculas, minúsculas e números.

Importar a base de dados

Importe base de dados que criou para o arquivo de nomes de utilizador e palavras-passe para o Expression Web. Para o fazer, siga estes passos:
  1. No Expression Web, abra o Web site de início de sessão, clique em Importar no menu ficheiro e, em seguida, clique em ficheiro .
  2. Clique em Adicionar ficheiro , localize e, em seguida, clique no ficheiro logon.mdb que criou e, em seguida, clique em Abrir .
  3. Clique em Modificar , escreva _private/logon.mdb na caixa de texto de localização do ficheiro na web e, em seguida, clique em OK .

    Nota Existe um carácter de sublinhado (_) à frente do "Privado" no caminho do ficheiro.
  4. Clique em OK para importar o ficheiro de base de dados.
  5. Se for pedido para criar uma ligação à base de dados para este ficheiro importado, clique em ' não '.

Criar páginas ASP

Tem de criar vários ficheiros para trabalhar com este exemplo. Em primeiro lugar, crie uma home page para o Web site, uma página "não segura" e uma página que está protegida para testar a página Web de início de sessão, e o início de sessão incluir o ficheiro.

A Microsoft fornece exemplos de programação apenas, para fins sem garantia expressa ou implícita. Isto inclui, mas não está limitado a, as garantias implícitas de comercialização ou adequação a um fim específico. Este artigo pressupõe que está familiarizado com a linguagem de programação apresentada e as ferramentas que são utilizadas para criar e depurar procedimentos. Os técnicos de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento. No entanto, não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às necessidades específicas do utilizador.

Criar a home page

Esta página funciona como página predefinida para o site. Inclui hiperligações para a página não segura e para a página Web protegida que tenha criado. Para criar uma home page, siga estes passos:
  1. No Expression Web, clique em Novo no menu ficheiro e, em seguida, clique em página .
  2. Na caixa de diálogo Novo , clique em HTML no separador de página e, em seguida, clique em OK .
  3. Na área do rodapé da janela do documento, clique em código para mostrar a vista de código.
  4. Seleccione e remova todo o código HTML na página Web.
  5. Escreva ou cole o seguinte código HTML na Web page.
    <% @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>
  6. Guarde a página como default.asp na pasta raiz do seu site de início de sessão.
  7. No menu ficheiro , clique em Fechar para fechar a página da Web default.asp.

Criar a página não segura

Crie uma página ASP normal que todos os utilizadores podem visualizar. Para criar uma página não segura, siga estes passos:
  1. No Expression Web, clique em Novo no menu ficheiro e, em seguida, clique em página .
  2. Na caixa de diálogo Novo , clique em HTML no separador de página e, em seguida, clique em OK .
  3. Na área do rodapé da janela do documento, clique em código para mostrar a vista de código.
  4. Seleccione e remova todo o código HTML na página Web.
  5. Escreva ou cole o seguinte código HTML na Web page.
    <% @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>
  6. Guarde a página como nonsecure.asp na pasta raiz do seu site de início de sessão.
  7. No menu ficheiro , clique em Fechar para fechar a página da Web nonsecure.asp.

Criar a página protegida

A página deste passo é igual à página Web não segura criada anteriormente, excepto que tem de adicionar o seguinte código perto da parte superior da vista de código:
<!--#include virtual="/logon/_private/logon.inc"-->
quando adiciona esta linha de código para uma página ASP, essa página fica protegida por palavra-passe pelo ficheiro logon.inc que criou. Para criar uma página Web que está protegida por palavra-passe, siga estes passos:
  1. No Expression Web, clique em Novo no menu ficheiro e, em seguida, clique em página .
  2. Na caixa de diálogo Novo , clique em HTML no separador de página e, em seguida, clique em OK .
  3. Na área do rodapé da janela do documento, clique em código para mostrar a vista de código.
  4. Seleccione e remova todo o código HTML na página Web.
  5. Escreva ou cole o seguinte código HTML na Web page.
    <% @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>
  6. Guarde a página como passwordprotect.asp na pasta raiz do seu site de início de sessão.
  7. No menu ficheiro , clique em Fechar para fechar a página da Web passwordprotect.asp.

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

Criar um início de sessão de página é 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 são reencaminhados para esta página para escrever os nomes de utilizador e palavras-passe. Para criar uma página de início de sessão, siga estes passos:
  1. No Expression Web, clique em Novo no menu ficheiro e, em seguida, clique em página .
  2. Na caixa de diálogo Novo , clique em HTML no separador de página e, em seguida, clique em OK .
  3. Na área do rodapé da janela do documento, clique em código para mostrar a vista de código.
  4. Seleccione e remova todo o código HTML na página Web.
  5. Type or paste the following HTML code in the Web page.
    <% @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>
  6. Guarde a página como logon.asp na pasta raiz do seu site de início de sessão.
  7. No menu ficheiro , clique em Fechar para fechar a página da Web logon.asp.

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

O ficheiro de inclusão fornece a funcionalidade de nome e palavra-passe do utilizador. Pode ser utilizado pela página Web protegida e a página Web de início de sessão. Para criar o início de sessão incluem o ficheiro, siga estes passos:
  1. No Expression Web Designer, clique em Novo no menu ficheiro e, em seguida, clique em página .
  2. Na caixa de diálogo Novo , clique em HTML no separador de página e, em seguida, clique em OK .
  3. Na área do rodapé da janela do documento, clique em código para mostrar a vista de código.
  4. Seleccione e remova todo o código HTML na página Web.
  5. Escreva ou cole o seguinte código HTML na page.
    <%
      ' 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
    %>
  6. Guarde a página como logon.inc na pasta _private do Web site de início de sessão.
  7. No menu ficheiro , clique em Fechar para fechar a página da Web logon.inc.

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

Para o fazer, siga estes passos:
  1. No Expression Web, clique com o botão direito do rato default.asp no painel da Lista de pastas e, em seguida, 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 voltar à predefinição 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.
  4. Na caixa Nome de utilizador , escreva utilizadorteste , escreva a palavra-passe na caixa palavra-passe e, em seguida, clique em início de sessão .

    A página protegida é apresentada e mostra que tem sessão iniciada como utilizadorteste . Clique na hiperligação voltar à predefinição 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 no Expression Web e, em seguida, adicionar utilizadores à tabela tblUsers .
  • Crie outras páginas Web que estão protegidas por palavra-passe:
    Para criar outra página Web protegida por palavra-passe no Web site, tem de guardar o ficheiro utilizando uma extensão de nome de ficheiro .asp, tal como Mypage.asp e, em seguida, adicione as seguintes duas linhas no início da vista de código muito:
    <% @language="vbscript" %>
    <!--#include virtual="/logon/_private/logon.inc"-->
    a primeira linha especifica que estão a utilizar o Microsoft Visual Basic Scripting Edition (VBScript) para a linguagem de script. A segunda linha inclui o nome de utilizador e a funcionalidade de palavra-passe de início de sessão inclui ficheiro que criou anteriormente.

Referências

Para obter mais informações sobre como criar uma página Web que está protegida por palavra-passe utilizando o FrontPage 2003, Active Server Pages e uma base de dados do Access, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
825498Como criar uma página Web protegida por palavra-passe utilizando o FrontPage 2003, Active Server Pages e uma base de dados do Access

Para obter mais informações sobre como ajudar a proteger as comunicações HTTP entre cliente e servidor, clique números de artigo que se seguem para visualizar os artigos na base de dados de conhecimento da Microsoft:
299525Como configurar o SSL utilizando o IIS 5.0 e o Certificate Server 2.0
299875Como implementar o SSL no IIS

Para obter mais informações sobre como integrar ASP (Active Server Pages) com bases de dados, clique números de artigo que se seguem para visualizar os artigos na base de dados de conhecimento da Microsoft:
299987Como utilizar a base de dados e sessões ASP para implementar segurança ASP
300382Como criar uma ligação à base de dados a partir de uma página ASP no IIS
318287O que é necessário para utilizar ASP (Active Server Pages) no FrontPage 2002

Propriedades

Artigo: 928706 - Última revisão: 17 de abril de 2007 - Revisão: 1.1
A informação contida neste artigo aplica-se a:
  • Microsoft Expression Web
Palavras-chave: 
kbmt kbexpertiseinter kbhowto KB928706 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 928706

Submeter comentários

 

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