Uma ferramenta simples para senha restringe um ambiente de encenação.
Ao criar ou atualizar um site, é uma boa prática publicar alterações em um ambiente de encenação para revisar antes de ir ao ar.
Este pacote ajuda a proteger sites de estadiamento por trás de uma página de login simples e acessível. É mais fácil usar do que a autenticação básica e lembra seu login em um cookie, para que você não precise continuar digitando sua senha.
Instale via compositor:
composer require studio24/staging-site-passsword:^1.0
A senha do seu site de encenação precisa ser armazenada como hash seguro. Você pode gerar isso via senha_hash ou usando o script de linha de comando fornecido.
php vendor/bin/password-hash.php
PENDÊNCIA
Armazene o hash de senha em uma variável de ambiente ou constante de PHP. O exemplo abaixo é para a senha "Test123"
Variável de ambiente:
putenv ( ' STAGING_SITE_PASSWORD=$2y$10$pvDrmW9GW0bLVDMtLwLnn.mFof5eQQwlozZ5kYK7xijQRVAWUw0FK ' );
Constante php:
define ( ' STAGING_SITE_PASSWORD ' , ' $2y$10$pvDrmW9GW0bLVDMtLwLnn.mFof5eQQwlozZ5kYK7xijQRVAWUw0FK ' );
Ou em PHP:
$ controller -> auth -> setPasswordHash ( $ hash );
PENDÊNCIA
Ative a página de login do site de estadiamento via:
$ controller = new Studio24 StagingSitePassword Controller ();
if ( $ controller -> isStaging ()) {
$ controller -> authenticate ();
}
Se você deseja personalizar quaisquer opções, pode fazê -lo através do objeto controlador. Certifique-se de adicionar seu código antes que $controller->authenticate()
seja executado. Por exemplo:
$ controller = new Studio24 StagingSitePassword Controller ();
$ controller -> loginPage -> setPlaceholder ( ' title ' , ' Login to My Website ' );
if ( $ controller -> isStaging ()) {
$ controller -> authenticate ();
}
Você pode personalizar qualquer texto na página de login via $controller->loginPage->setPlaceholder($name, $value)
.
Personalize o título:
$ controller -> loginPage -> setPlaceholder ( ' title ' , ' Login to My Website ' );
Personalize o texto do rodapé (você pode incluir HTML):
$ controller -> loginPage -> setPlaceholder ( ' footer ' , ' Get support from <a href="mailto:[email protected]">Studio 24</a> ' );
A lista completa de espaço reservado:
Espaço reservado | Conteúdo padrão |
---|---|
title | Faça login no site de estadiamento |
footer | |
password_field_label | Senha |
submit_field_label | Conecte-se |
title_prefix_on_error | Erro: |
error_message_title | Há um problema |
error_message | A senha está incorreta |
show | Mostrar |
hide | Esconder |
show_password | Mostre a senha |
hide_password | Ocultar senha |
Por padrão, o cookie de login deve expirar após 1 dia. Você pode personalizar isso via:
$ controller -> auth -> setCookieLifetime ( 3600 );
Isso define a vida útil do cookie em segundos.
Você também pode definir isso em dias:
$ controller -> auth -> setCookieLifetimeInDays ( 7 );
Você também pode alterar o nome do cookie (o padrão é staging_site_remember_login
):
$ controller -> auth -> setCookieName ( ' remember_me ' );