Cómo proteger directorios con contraseña en cPanel y .htaccess

En WebHosting Bolivia, la seguridad no es negociable. A veces necesitas crear una zona privada en tu sitio web para compartir archivos con clientes específicos, realizar pruebas de desarrollo o simplemente ocultar información sensible al público general. La forma más efectiva de hacerlo es mediante la autenticación básica HTTP (una ventana emergente que pide usuario y contraseña).

A continuación, te explicamos dos métodos para lograrlo: la forma visual y sencilla mediante cPanel (recomendada) y la forma manual para usuarios avanzados.

¿Tu sitio web necesita más seguridad y recursos?
Estas herramientas de privacidad vienen incluidas en todos nuestros planes. Asegura tu proyecto con la plataforma más estable del mercado.
Ver Planes de Web Hosting cPanel

Método 1: Usar "Privacidad del Directorio" en cPanel (Recomendado)

Esta es la forma más segura y rápida, ya que evita errores de sintaxis en el código. En versiones modernas de cPanel (Tema Jupiter), la herramienta ha cambiado de nombre y ubicación respecto a versiones antiguas.

  1. Ingresa a tu cuenta de cPanel.
  2. En la sección "Archivos", busca y haz clic en "Privacidad del Directorio" (Directory Privacy). Nota: En versiones muy antiguas se llamaba incorrectamente "Leech Protection" o "Directorios Protegidos".
  3. Navega por la lista de carpetas y haz clic en el nombre del directorio que deseas proteger (no en el icono de la carpeta, sino en el texto).
  4. Marca la casilla que dice: "La contraseña protege este directorio".
  5. Escribe un nombre para el área protegida (ej: "Zona Privada") y guarda.
  6. Paso Crucial: Más abajo, en la sección "Crear Usuario", define un Nombre de Usuario y una Contraseña segura.
  7. Haz clic en "Guardar". ¡Listo! Ahora, quien intente entrar a esa URL verá una solicitud de credenciales.

Interfaz de protección de directorios en cPanel

Método 2: Configuración manual con .htaccess (Usuarios Avanzados)

Si prefieres trabajar por consola (SSH) o necesitas una configuración personalizada que no dependa de cPanel, puedes hacerlo editando dos archivos ocultos.

Paso A: Crear el archivo .htaccess

Crea o edita el archivo .htaccess dentro de la carpeta que quieres bloquear y añade este código:

AuthType Basic
AuthName "Área Restringida"
AuthUserFile /home/tu_usuario/.htpasswd
Require valid-user
  • AuthUserFile: Es la ruta absoluta del sistema. Debes cambiar /home/tu_usuario/ por la ruta real de tu hosting (puedes verla en la barra lateral de cPanel).
  • Require valid-user: Permite entrar a cualquier usuario que esté en tu lista de contraseñas.

Paso B: Crear el archivo de contraseñas (.htpasswd)

Por seguridad, este archivo debe estar en una ruta que no sea accesible vía web (preferiblemente fuera de public_html).

Si tienes acceso SSH, usa el comando:

htpasswd -c /home/tu_usuario/.htpasswd nombre_usuario

El sistema te pedirá la contraseña, la encriptará y creará el archivo automáticamente. Si no tienes SSH, puedes usar generadores online de ".htpasswd" y subir el archivo mediante el Administrador de Archivos.

Consejos de Seguridad Adicionales

  • Ubicación del .htpasswd: Nunca guardes el archivo .htpasswd dentro de la misma carpeta pública que estás protegiendo. Si alguien descarga ese archivo, podría intentar descifrar tus claves. Guárdalo en la raíz de tu usuario (/home/usuario/).
  • HTTPS es obligatorio: La autenticación básica envía las contraseñas en texto plano si no usas SSL. Asegúrate de que tu sitio cargue con https:// para que la contraseña viaje encriptada.

Preguntas Frecuentes

¿Por qué obtengo un "Error 500" después de proteger la carpeta?

Esto sucede casi siempre porque la ruta en AuthUserFile es incorrecta. Asegúrate de usar la ruta completa del servidor (ej: /home/miusuario/.htpasswd) y no una ruta relativa o web.

¿Cómo elimino la protección de contraseña?

Desde cPanel, vuelve a "Privacidad del Directorio", selecciona la carpeta y desmarca la casilla "La contraseña protege este directorio". Si usaste el método manual, simplemente borra las líneas de código del archivo .htaccess.

¿Le ha resultado útil esta respuesta? 0 Los usuarios encontraron esto útil (0 Votos)