Proteger tu sitio con contraseña con un archivo .htaccess

 

Generalidades

Este artículo explica cómo proteger tu sitio web con contraseña utilizando un archivo .htaccess .

Usar el panel para proteger a tu sitio con contraseña

Una opción alternativa es utilizar la herramienta del panel en la página Htaccess/WebDAV. Sin embargo, por favor ten en cuenta que si necesitas acceso para editar manualmente tus archivos .htaccess y .htpasswd en el futuro, debes utilizar las instrucciones de este artículo, ya que la opción del panel elimina el acceso a estos archivos.

Requisitos previos

Este artículo asume que tu has creado un usuario de Shell y puedes iniciar sesión en tu servidor a través de SSH.

Cómo proteger tu sitio con contraseña

Los siguientes pasos crean un archivo .htpasswd y .htaccess para proteger un sitio web completo, un subdirectorio específico o archivos específicos.

 

 Crear el archivo .htpasswd

  1. Inicia sesión en tu servidor a través de SSH.
  2. Navega hasta el directorio que desea proteger con contraseña.

    Esto podría ser example.com para todo tu sitio web o example.com/subdir para un subdirectorio.

  3. Corre pwd para confirmar la ruta completa del archivo a este directorio. Anótalo.
    [server]$ pwd
    /home/username/example.com
  4. Crea un archivo .htpasswd corriendo el siguiente comando.

    Cambia la ruta del directorio y user1 por el usuario de inicio de sesión que deseas crear.

    [server]$ htpasswd -c /home/username/example.com/.htpasswd user1
    Cuando se te pida, ingresa una contraseña para el nuevo usuario. El código en tu archivo .htpasswd muestra la contraseña cifrada de la siguiente manera:
    user1:$apr1$bkS4zPQl$SyGLA9oP75L5uM5GHpe9A2
  5. Corre el comando nuevamente (sin la opción -c) para cualquier otro usuario al que deseas permitir acceso a tu directorio.

  6. Configura los permisos a 644.
    [server]$ chmod 644 .htpasswd

Crear el archivo .htaccess

En el mismo directorio, crea un archivo .htaccess y agrega uno de los siguientes ejemplos de código según las necesidades de tu sitio:

Proteger un sitio web completo (o subdirectorio)

Esta contraseña de ejemplo protege un sitio web completo o un subdirectorio, dependiendo de la ruta del archivo.

#Protect Directory
AuthName "Dialog prompt"
AuthType Basic
AuthUserFile /home/username/example.com/.htpasswd
Require valid-user

Proteger un solo archivo

Esta contraseña de ejemplo protege un solo archivo llamado admin.php:

#Protect single file
<Files admin.php>
AuthName "Dialog prompt"
AuthType Basic
AuthUserFile /home/username/example.com/.htpasswd
Require valid-user
</Files>

Proteger múltiples archivos

Este ejemplo protege varios archivos como admin.php y staff.php.

#Protect multiple files
<FilesMatch "^(admin|staff).php$">
AuthName "Dialog prompt"
AuthType Basic
AuthUserFile /home/username/example.com/.htpasswd
Require valid-user
</FilesMatch>

Proteger un subdirectorio de WordPress

Debido a la forma en que WordPress enruta todas las solicitudes de página, intentar acceder a un subdirectorio protegido con contraseña arrojará un error 404 Not Found. Para resolver esto, debes agregar una línea adicional al archivo .htaccess para hacer referencia a ErrorDocument.

Este ejemplo protege un subdirectorio llamado members.

ErrorDocument 401 default
    
#Protect Directory
AuthName "Dialog prompt"
AuthType Basic
AuthUserFile /home/username/example.com/members/.htpasswd
Require valid-user

Probar tu sitio

Visita tu sitio web y verifica si la solicitud de contraseña nueva aparece como está configurada.

Forzar SSL (HTTPS) en el mensaje de inicio de sesión

Si tu sitio no utiliza un certificado SSL, el mensaje de inicio de sesión que ves no está cifrado. Esto significa que tu contraseña se enviará como texto sin formato a través de http. Para cifrar este inicio de sesión, debes agregar un certificado SSL en tu dominio.

Si tu sitio utiliza un certificado SSL, pero no se redirecciona automáticamente a HTTPS, contacta a soporte para obtener ayuda.

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?