Un outil simple pour restreindre un environnement de mise en scène.
Lors de la création ou de la mise à jour d'un site Web, il est bon à publier des modifications dans un environnement de mise en scène à révisions avant de passer en ligne.
Ce package aide à sécuriser la mise en scène des sites Web derrière une page de connexion simple et accessible. Ceci est plus facile à utiliser que l'authentification de base et se souvient de votre connexion dans un cookie, vous n'avez donc pas à continuer de saisir votre mot de passe.
Installer via le compositeur:
composer require studio24/staging-site-passsword:^1.0
Le mot de passe de votre site de mise en scène doit être stocké sous forme de hachage sécurisé. Vous pouvez générer cela via Password_Hash ou en utilisant le script de ligne de commande fournis.
php vendor/bin/password-hash.php
FAIRE
Stockez le hachage de mot de passe dans une variable d'environnement ou une constante PHP. L'exemple ci-dessous est pour le mot de passe "test123"
Variable d'environnement:
putenv ( ' STAGING_SITE_PASSWORD=$2y$10$pvDrmW9GW0bLVDMtLwLnn.mFof5eQQwlozZ5kYK7xijQRVAWUw0FK ' );
PHP constante:
define ( ' STAGING_SITE_PASSWORD ' , ' $2y$10$pvDrmW9GW0bLVDMtLwLnn.mFof5eQQwlozZ5kYK7xijQRVAWUw0FK ' );
Ou en php:
$ controller -> auth -> setPasswordHash ( $ hash );
FAIRE
Activez la page de connexion du site de mise en scène via:
$ controller = new Studio24 StagingSitePassword Controller ();
if ( $ controller -> isStaging ()) {
$ controller -> authenticate ();
}
Si vous souhaitez personnaliser des options, vous pouvez le faire via l'objet contrôleur. Assurez-vous d'ajouter votre code avant que $controller->authenticate()
soit exécuté. Par exemple:
$ controller = new Studio24 StagingSitePassword Controller ();
$ controller -> loginPage -> setPlaceholder ( ' title ' , ' Login to My Website ' );
if ( $ controller -> isStaging ()) {
$ controller -> authenticate ();
}
Vous pouvez personnaliser n'importe quel texte sur la page de connexion via $controller->loginPage->setPlaceholder($name, $value)
.
Personnalisez le titre:
$ controller -> loginPage -> setPlaceholder ( ' title ' , ' Login to My Website ' );
Personnalisez le texte du pied de page (vous pouvez inclure HTML):
$ controller -> loginPage -> setPlaceholder ( ' footer ' , ' Get support from <a href="mailto:[email protected]">Studio 24</a> ' );
La liste complète des espaces réservés:
Espace réservé | Contenu par défaut |
---|---|
title | Connectez-vous à la mise en scène du site Web |
footer | |
password_field_label | Mot de passe |
submit_field_label | Se connecter |
title_prefix_on_error | Erreur: |
error_message_title | Il y a un problème |
error_message | Le mot de passe est incorrect |
show | Montrer |
hide | Cacher |
show_password | Montrer le mot de passe |
hide_password | Masquer le mot de passe |
Par défaut, le cookie de connexion devrait expirer après 1 jour. Vous pouvez personnaliser cela via:
$ controller -> auth -> setCookieLifetime ( 3600 );
Cela définit la durée de vie des cookies en quelques secondes.
Vous pouvez également régler cela dans les jours:
$ controller -> auth -> setCookieLifetimeInDays ( 7 );
Vous pouvez également modifier le nom du cookie (par défaut est staging_site_remember_login
):
$ controller -> auth -> setCookieName ( ' remember_me ' );