パスワードする簡単なツールは、ステージング環境を制限します。
ウェブサイトを作成または更新するとき、ライブに行く前にレビューするステージング環境への変更を公開することをお勧めします。
このパッケージは、シンプルでアクセス可能なログインページの背後にあるステージングWebサイトを保護するのに役立ちます。これは基本認証よりも使いやすく、Cookieでログインしていることを覚えているため、パスワードを入力し続ける必要はありません。
Composer経由でインストールします。
composer require studio24/staging-site-passsword:^1.0
ステージングサイトのパスワードは、安全なハッシュとして保存する必要があります。これをPassword_hashを介して生成するか、指定されたコマンドラインスクリプトを使用して生成できます。
php vendor/bin/password-hash.php
トト
環境変数またはPHP定数にパスワードハッシュを保存します。以下の例は、パスワード「test123」の場合です
環境変数:
putenv ( ' STAGING_SITE_PASSWORD=$2y$10$pvDrmW9GW0bLVDMtLwLnn.mFof5eQQwlozZ5kYK7xijQRVAWUw0FK ' );
PHP定数:
define ( ' STAGING_SITE_PASSWORD ' , ' $2y$10$pvDrmW9GW0bLVDMtLwLnn.mFof5eQQwlozZ5kYK7xijQRVAWUw0FK ' );
またはPHPで:
$ controller -> auth -> setPasswordHash ( $ hash );
トト
以下を介してステージングサイトのログインページを有効にします
$ controller = new Studio24 StagingSitePassword Controller ();
if ( $ controller -> isStaging ()) {
$ controller -> authenticate ();
}
オプションをカスタマイズする場合は、コントローラーオブジェクトを介して行うことができます。 $controller->authenticate()
が実行される前に、必ずコードを追加してください。例えば:
$ controller = new Studio24 StagingSitePassword Controller ();
$ controller -> loginPage -> setPlaceholder ( ' title ' , ' Login to My Website ' );
if ( $ controller -> isStaging ()) {
$ controller -> authenticate ();
}
$controller->loginPage->setPlaceholder($name, $value)
を介して、ログインページのテキストをカスタマイズできます。
タイトルのカスタマイズ:
$ controller -> loginPage -> setPlaceholder ( ' title ' , ' Login to My Website ' );
フッターテキストをカスタマイズします(HTMLを含めることができます):
$ controller -> loginPage -> setPlaceholder ( ' footer ' , ' Get support from <a href="mailto:[email protected]">Studio 24</a> ' );
プレースホルダーの完全なリスト:
プレースホルダー | デフォルトのコンテンツ |
---|---|
title | ステージングWebサイトにログインします |
footer | |
password_field_label | パスワード |
submit_field_label | ログイン |
title_prefix_on_error | エラー: |
error_message_title | 問題があります |
error_message | パスワードが正しくありません |
show | 見せる |
hide | 隠れる |
show_password | パスワードを表示します |
hide_password | パスワードを非表示にします |
デフォルトでは、ログインCookieは1日後に期限切れになるように設定されています。これを介してカスタマイズできます。
$ controller -> auth -> setCookieLifetime ( 3600 );
これにより、Cookie Lifetimeは数秒で設定されます。
これを日数に設定することもできます。
$ controller -> auth -> setCookieLifetimeInDays ( 7 );
Cookie名を変更することもできます(デフォルトはstaging_site_remember_login
です):
$ controller -> auth -> setCookieName ( ' remember_me ' );