Protección con contraseña: configuración y ayuda
Inicio rápido
- Sube e instala el ZIP mprpasswordprotect en "Module Manager".
- Haz clic en "Configure" para abrir Configuración de protección por contraseña.
- Introduce "Password" y Mensaje.
- Elige "Protection scope" y completa "Protected pages" al usar el modo de páginas seleccionadas.
- Revisa "Bypass for logged-in employees" y "Discourage search engines".
- Activa "Enable password protection", guarda y resuelve los avisos de hooks/caché.
- Usa un navegador de visitante nuevo para verificar el rechazo de una contraseña incorrecta y el regreso a la página solicitada tras la correcta.
Requiere PrestaShop 1.6.1 o posterior y PHP 7.1 o posterior.
Manual de configuración
Instala y activa la barrera
- Sube e instala el ZIP
mprpasswordprotecten Módulos > "Module Manager". - Haz clic en "Configure" para abrir Configuración de protección por contraseña.
- Introduce una contraseña compartida en "Password" y completa Mensaje.
- Elige "Protection scope". Si eliges páginas seleccionadas, completa "Protected pages".
- Revisa los ajustes de omisión y de motores de búsqueda.
- Activa "Enable password protection" y guarda. Resuelve cualquier aviso de hook o caché mostrado en la página.
- Prueba en una nueva sesión de navegador sin omisión para empleados. Confirma la barrera, el error de contraseña incorrecta y el regreso a la página solicitada tras acceder correctamente.
El módulo se instala desactivado y sin contraseña. Instala la página meta de la barrera con la reescritura amigable password. El controlador frontal de la barrera también funciona mediante la URL de módulo generada por PrestaShop.
Configura los ajustes de protección por contraseña
| Ajuste | Predeterminado al instalar | Cómo usarlo |
|---|---|---|
| "Enable password protection" | Desactivado | Actívalo después de guardar una contraseña y un alcance. |
| "Password" | Vacío | Contraseña compartida que introducen los visitantes. Déjalo vacío al editar para conservar la contraseña actual. |
| Mensaje | This store is password protected. Please enter the password to continue. |
Texto sobre el campo de contraseña. |
| "Bypass for logged-in employees" | Activado | Usa la lógica de omisión de mantenimiento de PrestaShop para empleados aptos e IP de mantenimiento. |
| "Discourage search engines" | Activado | Envía desde la barrera señales de indisponibilidad temporal y noindex. |
| "Protection scope" | "Entire storefront" | Como alternativa, selecciona "Selected CMS pages, categories, products, manufacturers, and suppliers". |
| "Protected pages" | Vacío | Elige entidades para el modo de páginas seleccionadas. Una selección vacía no protege ninguna página individual. |
Para una vista previa de toda la tienda, conserva "Entire storefront", establece tu mensaje y contraseña, y mantén "Discourage search engines" activado. No hay fecha de publicación automática. Desactiva la barrera manualmente cuando la tienda deba ser pública.
Protege páginas seleccionadas
Elige el alcance de páginas seleccionadas y usa "Protected pages" para seleccionar páginas CMS, productos, categorías, fabricantes o proveedores. Los grupos de inclusión y exclusión usan el selector de entidades. Seleccionar una página de categoría no protege automáticamente todas las páginas de producto de esa categoría.
Por ejemplo, puedes incluir los productos 42 y 84, la página CMS 6 y todas las páginas de categoría salvo la categoría 3. Esa selección usa los ID de producto en products, los ID de categoría en categories y los ID de CMS en cms. El módulo compara la entidad de la página y no proporciona un editor de patrones URL arbitrarios.
En este modo solo se protegen los controladores de entidades coincidentes. Las demás páginas permanecen públicas salvo que elijas "Entire storefront". Los traspasos de contexto de listados compatibles también resuelven la identidad de categoría, fabricante y proveedor para decidir la coincidencia.
Comprende el acceso de visitantes
La barrera intercepta el despacho del front-office y de los controladores frontales de módulos mediante actionDispatcherBefore y el hook heredado actionDispatcher. No protege los controladores del back-office.
Una solicitud protegida redirige a la página de contraseña independiente. Esa página usa el logotipo de tu tienda cuando está disponible y, en caso contrario, su nombre, junto con el mensaje y el formulario de contraseña. Un destino solicitado válido se conserva en un campo oculto redirect. Tras el éxito, el módulo regresa allí. Los destinos no válidos o inseguros se sustituyen por la página de inicio/ruta base de la tienda.
El acceso correcto se recuerda en la cookie de PrestaShop del visitante y queda vinculado a la contraseña guardada.
Cambiar o borrar la contraseña guardada pone fin a los accesos existentes de los visitantes. Necesitan la nueva contraseña. No hay un ajuste independiente de duración de sesión; el acceso depende de la cookie de la tienda PrestaShop.
La barrera limita las comparaciones a 10 intentos POST por IP observada por el servidor y tienda en una ventana fija de 300 segundos. Una solicitud limitada recibe 429 y Retry-After. No puedes configurar ese límite en esta pantalla.
Comprueba la caché y las señales para buscadores
Las respuestas protegidas, incluidas las de visitantes admitidos, se marcan como privadas y no almacenables en caché. Guardar cambios de protección solicita invalidar la caché del sitio mediante la integración de caché disponible. Lee y resuelve el aviso de caché de la página de configuración antes de confiar en páginas precargadas anteriormente.
Con "Discourage search engines" activado, la respuesta normal de la barrera envía:
HTTP/1.1 503 Service Temporarily Unavailable
Retry-After: 86400
X-Robots-Tag: noindex, nofollow
También incluye el meta robots noindex, nofollow. La limitación de intentos usa 429 en lugar del 503 normal de la barrera. Si el módulo no puede leer su configuración o el registro de la barrera, rechaza el acceso con una respuesta de indisponibilidad temporal y un intervalo de reintento corto.
Estas señales no eliminan inmediatamente las páginas indexadas. Desactiva la barrera antes de que deban reanudarse el acceso normal a la tienda y la indexación.
Verifica y resuelve problemas
Prueba con un navegador sin cookie autenticada de la barrera y sin omisión para empleados:
- Abre un enlace profundo protegido y confirma la redirección a la barrera.
- Introduce una contraseña incorrecta y confirma Contraseña incorrecta. Inténtalo de nuevo.
- Introduce la contraseña correcta y confirma el regreso a la página protegida.
- En modo seleccionado, verifica que una página no seleccionada siga siendo pública.
- Cambia la contraseña y confirma que se rechaza la antigua prueba de acceso del navegador.
- Comprueba los encabezados de respuestas protegidas y las páginas previamente almacenadas en caché.
Si los empleados ven directamente la tienda, revisa "Bypass for logged-in employees" y el acceso de mantenimiento de PrestaShop. No hay una lista de IP o correos de clientes permitidos separada en el módulo.
Si los visitantes no son redirigidos, comprueba la activación, la contraseña no vacía, el alcance y ambos hooks del dispatcher. Recarga la configuración para reintentar el registro de hooks y usa "Integrity". Si ves un error de reintento, espera el intervalo indicado y comprueba la disponibilidad del almacenamiento. Si las páginas antiguas siguen siendo públicas, resuelve el aviso de caché y purga la caché externa correspondiente.
No hay ajustes para imágenes de fondo personalizadas, un interruptor del logotipo o una duración de sesión distinta. La barrera protege las páginas despachadas, no el acceso directo del servidor web a archivos estáticos.
Desactiva o desinstala
Desactiva "Enable password protection" y guarda para reabrir las páginas protegidas. Confirma la invalidación de caché y prueba como visitante nuevo.
Desinstala mediante "Module Manager" para eliminar el menú, la entrada meta de la barrera y la configuración del módulo. Hazlo solo cuando la tienda deba ser pública.
Compatibilidad
Requiere PrestaShop 1.6.1 o posterior y PHP 7.1 o posterior.
Capturas de pantalla de referencia



Preguntas
1
¿Cómo evita Password Protection que su página de contraseña se redirija a sí misma?
El dispatcher reconoce el controlador de la página de acceso del módulo y permite que esa solicitud muestre el formulario de contraseña. La excepción se basa en el controlador realmente identificado, no en una parte de la URL. Las demás solicitudes protegidas siguen necesitando una omisión permitida o una prueba válida de acceso mediante contraseña.
Problemas conocidos
5
Guardado incompleto de formularios de protección
Detección de la protección con contraseña
Refuerzo de la seguridad
Carga de la administración
Enrutamiento de la página de contraseña
Solicitudes de funcionalidades
2
Implementado
Acceso a la tienda protegido por contraseña
Actualizaciones del módulo con un clic
Registro de cambios
v1.0.182026-05-27
- Addedcomplete FR/DE/ES/IT/PL translations
- FixedMigrate password protection config storage
- FixedSync nested module copy with ConfigTable migration
Versiones anteriores
v1.3.02026-04-20
- Addedself-healing integrity checks for automatic diagnostics and repair
- Addedadmin menu management via MenuInstaller for streamlined module setup
v1.2.02026-02-07
- AddedPS 9 / Hummingbird theme compatibility
- AddedIP allowlist — bypass password page for trusted IPs (e.g. development team)
- Improvedbranded login page with logo upload and background-colour picker
- Fixedsession persistence issue causing repeated password prompts on AJAX pages
- Optimized cookie signing to use HMAC-SHA256 instead of plain hash
v1.0.02025-12-29
- Initialrelease: full-store password protection for staging and maintenance
- InitialSingle password entry gate with configurable message
- InitialCompatible with PS 1.7.x and PS 8.x
v1.1.02025-07-11
- Addedper-category protection — restrict only specific catalogue sections
- Addedexpiry timer — automatically disable protection after a set date
- Fixedredirect loop when maintenance mode and password protection both active
Demo
Prueba el módulo completo
- Tienda demo lista Explora una tienda demo lista en tu navegador.
- Sin registro Sin cuenta, correo ni dominio de tienda.
Al abrir esta demo, acepta los términos de la demo y la política de privacidad.