Ein einfaches Tool zum Passwort beschränkt eine Staging -Umgebung.
Beim Erstellen oder Aktualisieren einer Website ist es eine gute Praxis, Änderungen an einer Staging -Umgebung zu veröffentlichen, um sie vor dem Live zu überprüfen.
Dieses Paket trägt dazu bei, Websites hinter einer einfachen, zugänglichen Anmeldeseite zu sichern. Dies ist einfacher zu verwenden als die grundlegende Authentifizierung und erinnert sich an Ihr Login in einem Cookie, sodass Sie Ihr Passwort nicht weiter eingeben müssen.
Installieren Sie über Komponist:
composer require studio24/staging-site-passsword:^1.0
Ihr Staging -Site -Passwort muss als sicheres Hash gespeichert werden. Sie können dies über password_hash oder mit dem bereitgestellten Befehlszeilenskript generieren.
php vendor/bin/password-hash.php
Todo
Speichern Sie den Kennwort -Hash in einer Umgebungsvariablen oder PHP -Konstante. Das folgende Beispiel ist für das Passwort "Test123"
Umgebungsvariable:
putenv ( ' STAGING_SITE_PASSWORD=$2y$10$pvDrmW9GW0bLVDMtLwLnn.mFof5eQQwlozZ5kYK7xijQRVAWUw0FK ' );
PHP -Konstante:
define ( ' STAGING_SITE_PASSWORD ' , ' $2y$10$pvDrmW9GW0bLVDMtLwLnn.mFof5eQQwlozZ5kYK7xijQRVAWUw0FK ' );
Oder in PHP:
$ controller -> auth -> setPasswordHash ( $ hash );
Todo
Aktivieren Sie die Staging -Site -Anmeldeseite über:
$ controller = new Studio24 StagingSitePassword Controller ();
if ( $ controller -> isStaging ()) {
$ controller -> authenticate ();
}
Wenn Sie Optionen anpassen möchten, können Sie dies über das Controller -Objekt tun. Stellen Sie sicher, dass Sie Ihren Code hinzufügen, bevor $controller->authenticate()
ausgeführt wird. Zum Beispiel:
$ controller = new Studio24 StagingSitePassword Controller ();
$ controller -> loginPage -> setPlaceholder ( ' title ' , ' Login to My Website ' );
if ( $ controller -> isStaging ()) {
$ controller -> authenticate ();
}
Sie können jeden Text auf der Anmeldeseite über $controller->loginPage->setPlaceholder($name, $value)
anpassen.
Passen Sie den Titel an:
$ controller -> loginPage -> setPlaceholder ( ' title ' , ' Login to My Website ' );
Passen Sie den Fußzeilentext an (Sie können HTML einschließen):
$ controller -> loginPage -> setPlaceholder ( ' footer ' , ' Get support from <a href="mailto:[email protected]">Studio 24</a> ' );
Die vollständige Liste der Platzhalter:
Platzhalter | Standardinhalt |
---|---|
title | Melden Sie sich bei der Inszenierung von Website an |
footer | |
password_field_label | Passwort |
submit_field_label | Login |
title_prefix_on_error | Fehler: |
error_message_title | Es gibt ein Problem |
error_message | Das Passwort ist falsch |
show | Zeigen |
hide | Verstecken |
show_password | Passwort anzeigen |
hide_password | Passwort verbergen |
Standardmäßig ist das Anmeldung Cookie nach 1 Tag abgelaufen. Sie können dies über: anpassen:
$ controller -> auth -> setCookieLifetime ( 3600 );
Dies setzt das Lebensdauer in Sekunden.
Sie können dies auch in Tagen festlegen:
$ controller -> auth -> setCookieLifetimeInDays ( 7 );
Sie können auch den Cookie -Namen ändern (Standard ist staging_site_remember_login
):
$ controller -> auth -> setCookieName ( ' remember_me ' );