Cómo crear una página Web protegida por contraseña mediante FrontPage 2003, páginas Active Server y una base de datos de Access

Seleccione idioma Seleccione idioma
Id. de artículo: 825498 - Ver los productos a los que se aplica este artículo
Para obtener una versión de este artículo para Microsoft FrontPage 2002, consulte 321439.
Para obtener una versión de este artículo para Microsoft FrontPage 2000, consulte 321503.
Expandir todo | Contraer todo

En esta página

Resumen

En este artículo paso a paso se describe cómo crear una sencilla solución de página Web protegida mediante contraseña utilizando FrontPage 2003, páginas Active Server (ASP) y una base de datos de Microsoft Access.

Importante
  • El código de ejemplo de este artículo no está concebido para sustituir a la función de seguridad integrada de FrontPage 2003. Los ejemplos se diseñan para proporcionar un sencillo mecanismo de seguridad destinado únicamente a usuarios que están explorando su sitio Web. Como tal, la seguridad de FrontPage 2003 no se integra con los nombres de usuario y las contraseñas agregadas a la base de datos de Microsoft Access.
  • Los nombres de usuario y las contraseñas que se escriban se transmitirán por Internet en forma de texto sin formato. Para aumentar la seguridad, Microsoft recomienda utilizar un servidor Web que pueda utilizar el cifrado de Secure Sockets Layer (SSL). Para obtener más información al respecto, póngase en contacto con el administrador de su sitio Web o con su proveedor de servicios Internet (ISP).

Utilizar las características de ASP en FrontPage 2003

Antes de poder utilizar las funciones de ASP en FrontPage 2003, deberá contar con acceso a un servidor Web o a un sitio Web basado en disco que admita ASP.

Crear un sitio Web nuevo en FrontPage 2003

Nota
Para todos los datos de este ejemplo se supone que su sitio Web se denomina "logon" y que está creado como subweb de la raíz de su sitio Web. Si va a utilizar un nombre distinto de "logon" o a crear el sitio Web en otra ubicación, no olvide modificar los pasos del artículo como corresponda.

Para crear un nuevo sitio Web en FrontPage 2003, siga estos pasos:
  1. Inicie FrontPage 2003.
  2. En el menú Archivo, haga clic en Nuevo.
  3. En el panel de tareas, seleccione Más plantillas de sitio Web y haga clic en Sitio Web vacío.
  4. En Opciones, escriba la ubicación donde desee almacenar el nuevo sitio Web utilizando el siguiente formato:
    http://nombreDeServidor/logon
    Donde nombreDeServidor es el nombre de su servidor Web habilitado para ASP.
  5. Haga clic en Aceptar.
Se abrirá en FrontPage2003 un sitio Web nuevo, denominado "logon".

Crear una base de datos

Utilice algún programa de base de datos como Microsoft Office Access 2003 para crear una base de datos donde almacenar las contraseñas y los nombres de usuario.

Nota Si va a utilizar un programa distinto de Access 2003 para crear la base de datos, no olvide modificar estos pasos como corresponda.

Para crear una base de datos, siga estos pasos:
  1. Inicie Access 2003.
  2. En el menú Archivo, haga clic en Nuevo.
  3. En el panel de tareas, haga clic en Base de datos en blanco.
  4. Escriba logon.mdb como nombre de archivo y haga clic en Crear.
  5. En el panel Objetos, seleccione Tablas y haga clic en Nueva.
  6. Haga clic en Vista Diseño y, después, haga clic en Aceptar.
  7. En la primera fila de la columna Nombre de campo, escriba UID.
  8. En la columna Tipo de datos correspondiente, seleccione Texto y haga clic en el botón Clave principal de la barra de herramientas (aparecerá con el símbolo de una llave).
  9. En la segunda fila de la columna Nombre de campo, escriba PWD y haga clic en Texto, en la segunda fila de la columna Tipo de datos.
  10. En el menú Archivo, haga clic en Guardar.
  11. En el cuadro Nombre de tabla, escriba tblUsers y haga clic en Aceptar.
  12. En el menú Ver, haga clic en Vista Hoja de datos.
  13. En la columna UID, escriba testuser.

    En la columna PWD, escriba password.
  14. En el menú Archivo, haga clic en Cerrar y salga de Access 2003.
Nota
Por seguridad, las contraseñas están restringidas a una combinación de letras mayúsculas y minúsculas, y a números.

Importar la base de datos

Importe la base de datos de nombres de usuarios y contraseñas creada en FrontPage 2003. Para ello, siga estos pasos:
  1. Con el sitio Web "logon" abierto en FrontPage 2003, haga clic en Importar en el menú Archivo.
  2. Haga clic en Agregar archivo, busque el archivo logon.mdb que creó y haga clic en él.

    Haga clic en Abrir.
  3. Haga clic en Modificar, escriba _private/logon.mdb en el cuadro Ubicación del archivo en su Web y haga clic en Aceptar.

    Nota En la ruta del archivo existe un carácter de subrayado (_) delante de "private".
  4. Haga clic en Aceptar para importar el archivo de base de datos.
  5. Si se le pregunta si desea crear una conexión de base de datos para el archivo importado, haga clic en No.

Crear las páginas ASP

Deberá crear varios archivos para poder trabajar con este ejemplo. Primero deberá crear una página principal para su sitio Web, una página "no segura" y una página protegida por contraseña para las pruebas. Tras ello, deberá crear la página Web de inicio de sesión y el archivo de inclusión para el inicio de sesión.

Crear la página principal

Esta página, que servirá como página predeterminada para su sitio, incluirá vínculos a la página no segura y a la página Web protegida por contraseña que creará más adelante. Para crear una página principal, siga estos pasos:
  1. En FrontPage 2003, haga clic sucesivamente en Archivo, Nuevo y Página en blanco.
  2. En el área de pie de página de la ventana de documento, haga clic en Código para mostrar la vista de código.
  3. Seleccione todo el código HTML de la página Web y quítelo.
  4. Escriba o pegue el siguiente código HTML en la 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. Haga clic con el botón secundario del mouse en la ficha new_page_1.htm y, a continuación, haga clic en Guardar.

    Guarde la página como default.asp en la carpeta raíz de su sitio Web logon.
  6. En el menú Archivo, haga clic en Cerrar para cerrar la página Web default.asp.

Crear la página no segura

Cree una página ASP típica que todo el mundo pueda ver. Para crear una página no segura, siga estos pasos:
  1. En FrontPage 2003, haga clic sucesivamente en Archivo, Nuevo y Página en blanco.
  2. En el área de pie de página de la ventana de documento, haga clic en Código para mostrar la vista de código.
  3. Seleccione todo el código HTML de la página Web y quítelo.
  4. Escriba o pegue el siguiente código HTML en la 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. Haga clic con el botón secundario del mouse en la ficha new_page_1.htm y, a continuación, haga clic en Guardar.

    Guarde la página como nonsecure.asp en la carpeta raíz de su sitio Web logon.
  6. En el menú Archivo, haga clic en Cerrar para cerrar la página Web nonsecure.asp.

Crear la página protegida por contraseña

La página de este paso es igual que la creada anteriormente (página no segura) con la excepción de que será necesario agregar la siguiente línea de código en la parte superior de la página:
<!--#include virtual="/logon/_private/logon.inc"-->
Cuando se agrega esta línea de código a una página Web ASP, ésta queda protegida mediante contraseña por el archivo logon.inc creado. Para crear una página Web protegida por contraseña, siga estos pasos:
  1. En FrontPage 2003, haga clic sucesivamente en Archivo, Nuevo y Página en blanco.
  2. En el área de pie de página de la ventana de documento, haga clic en Código para mostrar la vista de código.
  3. Seleccione todo el código HTML de la página Web y quítelo.
  4. Escriba o pegue el siguiente código HTML en la 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. Haga clic con el botón secundario del mouse en la ficha new_page_1.htm y, a continuación, haga clic en Guardar.

    Guarde la página como passwordprotect.asp en la carpeta raíz de su sitio Web logon.
  6. En el menú Archivo, haga clic en Cerrar para cerrar la página Web passwordprotect.asp.

Crear la página de inicio de sesión

En este paso se crea una página de inicio de sesión parecida al cuadro de diálogo de inicio de sesión típico de Windows. Los usuarios que intenten tener acceso a la página Web protegida mediante contraseña serán enviados a esta página para que escriban su nombre de usuario y su contraseña. Para crear una página de inicio de sesión, siga estos pasos:
  1. En FrontPage 2003, haga clic sucesivamente en Archivo, Nuevo y Página en blanco.
  2. En el área de pie de página de la ventana de documento, haga clic en Código para mostrar la vista de código.
  3. Seleccione todo el código HTML de la página Web y quítelo.
  4. Escriba o pegue el siguiente código HTML en la 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. Haga clic con el botón secundario del mouse en la ficha new_page_1.htm y, a continuación, haga clic en Guardar.

    Guarde la página como logon.asp en la carpeta raíz de su sitio Web logon.
  6. En el menú Archivo, haga clic en Cerrar para cerrar la página Web logon.asp.

Crear el archivo de inclusión para el inicio de sesión

El archivo de inclusión, encargado de proporcionar las funciones de nombre de usuario y contraseña, se utiliza tanto en la página Web protegida mediante contraseña como en la de inicio de sesión. Para crear este archivo, siga estos pasos:
  1. En FrontPage 2003, haga clic sucesivamente en Archivo, Nuevo y Página en blanco.
  2. En el área del pie de página de la ventana de documento, haga clic en Código para mostrar la vista de código.
  3. Seleccione todo el código HTML de la página Web y quítelo.
  4. Escriba o pegue el siguiente código HTML en la 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. Haga clic con el botón secundario del mouse en la ficha new_page_1.htm y, a continuación, haga clic en Guardar.

    Guarde la página como logon.inc en la carpeta _private de su sitio Web logon.
  6. En el menú Archivo, haga clic en Cerrar para cerrar el archivo logon.inc.

Probar el sitio Web logon

Para ello, siga estos pasos:
  1. En FrontPage 2003, en el panel Lista de carpetas, haga clic con el botón secundario del mouse en Default.asp y, a continuación, haga clic en Vista previa en el explorador.

    El explorador Web cargará la página principal de ejemplo y le indicará que no tiene iniciada ninguna sesión.
  2. Haga clic en el vínculo Nonsecure Page.

    La página se cargará y le indicará que no tiene iniciada ninguna sesión. Haga clic en el vínculo Back to default para volver a la página predeterminada.
  3. Haga clic en el vínculo Password-Protected Page.

    Se cargará la página logon.asp en lugar de cargarse la página protegida por contraseña.
  4. En el cuadro User Name, escriba testuser y en Password, escriba password. A continuación, haga clic en LOGON.

    La página protegida mediante contraseña aparecerá e indicará que ha iniciado sesión como testuser. Haga clic en el vínculo Back to default para volver a la página predeterminada. La página principal se cargará y mostrará que ha iniciado sesión como testuser.
  5. Haga clic en el vínculo Nonsecure Page.

    La página se cargará y mostrará que ha iniciado sesión como testuser.

Personalizar el sitio Web logon

Puede personalizar el sitio Web de ejemplo para el inicio de sesión de cualquiera de las siguientes formas:
  • Agregar nombres de usuario y contraseñas válidos: Puede abrir la base de datos. Para ello, en FrontPage 2003, haga doble clic en la base de datos y agregue usuarios a la tabla tblUsers.
  • Proteger otras páginas Web mediante contraseña: Para proteger mediante contraseña otra página Web de su sitio Web, debe guardar el archivo con una extensión de archivo ASP (por ejemplo, Mypage.asp) y agregar después las dos líneas siguientes justo al principio del archivo:
    <% @language="vbscript" %>
    <!--#include virtual="/logon/_private/logon.inc"-->
    
    La primera línea especifica que se está utilizando Microsoft Visual Basic Scripting Edition (VBScript) para el lenguaje de secuencia de comandos, mientras que la segunda incluye la función de nombre de usuario y contraseña creada con anterioridad.

Más información

Los nombres de usuario y las contraseñas almacenados en la base de datos no están cifrados. Aunque se utilice la Máscara de entrada de contraseñas no se cifran estos datos. Por ésta y otras razones, no deben utilizarse bases de datos de Access para sitios Web de producción. Para obtener más información acerca de cómo ayudar a proteger las comunicaciones HTTP entre el cliente y el servidor, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
299525 Cómo configurar SSL utilizando IIS 5.0 y Certificate Server 2.0
299875 Cómo implementar SSL en IIS

Referencias

Para obtener más información acerca de cómo integrar páginas Active Server (ASP) con bases de datos, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
299987 Cómo usar la base de datos y las sesiones ASP para implementar la seguridad ASP
300382 Cómo crear una conexión de base de datos desde una página ASP en IIS
318287 Qué necesita para utilizar páginas Active Server (ASP) en FrontPage 2002

Propiedades

Id. de artículo: 825498 - Última revisión: viernes, 23 de marzo de 2007 - Versión: 5.1
La información de este artículo se refiere a:
  • Microsoft Office SharePoint Designer 2007
  • Microsoft Office FrontPage 2003
Palabras clave: 
kbdatabase kbasp kbhowtomaster KB825498

Enviar comentarios

 

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