Una herramienta simple para restringir la contraseña de un entorno de puesta en escena.
Al crear o actualizar un sitio web, es una buena práctica publicar cambios en un entorno de puesta en escena para revisar antes de ponerse en marcha.
Este paquete ayuda a asegurar sitios web de preparación detrás de una página de inicio de sesión simple y accesible. Esto es más fácil de usar que la autenticación básica y recuerda su inicio de sesión en una cookie, por lo que no tiene que seguir ingresando su contraseña.
Instalar a través del compositor:
composer require studio24/staging-site-passsword:^1.0
La contraseña de su sitio de estadificación debe almacenarse como hash seguro. Puede generar esto a través de contraseña_hash o utilizando el script de línea de comandos proporcionado.
php vendor/bin/password-hash.php
HACER
Almacene el hash de contraseña en una variable de entorno o constante PHP. El siguiente ejemplo es para la contraseña "test123"
Variable de entorno:
putenv ( ' STAGING_SITE_PASSWORD=$2y$10$pvDrmW9GW0bLVDMtLwLnn.mFof5eQQwlozZ5kYK7xijQRVAWUw0FK ' );
PHP constante:
define ( ' STAGING_SITE_PASSWORD ' , ' $2y$10$pvDrmW9GW0bLVDMtLwLnn.mFof5eQQwlozZ5kYK7xijQRVAWUw0FK ' );
O en PHP:
$ controller -> auth -> setPasswordHash ( $ hash );
HACER
Habilite la página de inicio de sesión del sitio de preparación a través de:
$ controller = new Studio24 StagingSitePassword Controller ();
if ( $ controller -> isStaging ()) {
$ controller -> authenticate ();
}
Si desea personalizar cualquier opción, puede hacerlo a través del objeto controlador. Asegúrese de agregar su código antes de que se ejecute $controller->authenticate()
. Por ejemplo:
$ controller = new Studio24 StagingSitePassword Controller ();
$ controller -> loginPage -> setPlaceholder ( ' title ' , ' Login to My Website ' );
if ( $ controller -> isStaging ()) {
$ controller -> authenticate ();
}
Puede personalizar cualquier texto en la página de inicio de sesión a través de $controller->loginPage->setPlaceholder($name, $value)
.
Personalizar el título:
$ controller -> loginPage -> setPlaceholder ( ' title ' , ' Login to My Website ' );
Personalice el texto del pie de página (puede incluir HTML):
$ controller -> loginPage -> setPlaceholder ( ' footer ' , ' Get support from <a href="mailto:[email protected]">Studio 24</a> ' );
La lista completa de marcadores de posición:
Marcador de posición | Contenido predeterminado |
---|---|
title | Iniciar sesión en el sitio web de organización |
footer | |
password_field_label | Contraseña |
submit_field_label | Acceso |
title_prefix_on_error | Error: |
error_message_title | Hay un problema |
error_message | La contraseña es incorrecta |
show | Espectáculo |
hide | Esconder |
show_password | Mostrar contraseña |
hide_password | Ocultar contraseña |
Por defecto, la cookie de inicio de sesión está configurada para expirar después de 1 día. Puede personalizar esto a través de:
$ controller -> auth -> setCookieLifetime ( 3600 );
Esto establece la vida útil de las galletas en segundos.
También puedes configurar esto en días:
$ controller -> auth -> setCookieLifetimeInDays ( 7 );
También puede cambiar el nombre de la cookie (el valor predeterminado es staging_site_remember_login
):
$ controller -> auth -> setCookieName ( ' remember_me ' );