humanmade/php-basic-auth

为 HM 开发和测试环境提供的 PHP 基本认证。

安装次数: 132,753

依赖: 2

建议者: 0

安全: 0

星标: 1

关注者: 23

分支: 1

开放问题: 2

类型:wordpress-muplugin

1.1.7 2022-03-12 16:04 UTC

This package is auto-updated.

Last update: 2024-09-17 14:06:33 UTC


README

Human Made Logo

PHP Basic Auth

GitHub release (latest by date) GitHub Build Status

为 Human Made 开发和测试环境提供的基本 PHP 认证。

google chrome 中的提示截图 Google Chrome 中的认证提示

firefox 中的提示截图 Firefox 中的认证提示

安装和设置

Composer 文件配置为假定您希望与其他 WordPress 必须使用的插件一起安装此包。以下设置说明假定您所有的 composer 必须使用的插件都存储在主 /mu-plugins/vendor 目录中,并且您正在使用 loader.php 文件来加载它们。如果您的环境不同,您可能需要调整配置。

安装和设置完成后,在“常规设置”页面上将存在一个覆盖默认基本认证设置(由环境检测)的选项。此选项允许您从 WordPress 应用程序中禁用开发或测试环境的基本认证。默认情况下,如果未保存设置,则将检测环境并勾选此选项。

screenshot of new setting

步骤 1

通过 composer 安装插件。

composer require humanmade/php-basic-auth

步骤 2

'vendor/php-basic-auth/plugin.php' 添加到 /mu-plugins 目录根目录下的 loader.php 文件中的必须使用插件数组中。请确保它是数组中的 第一个 项。

最终结果应类似于以下内容

<?php
/**
 * Plugin Name: HM MU Plugin Loader
 * Description: Loads the MU plugins required to run the site
 * Author: Human Made Limited
 * Author URI: http://hmn.md/
 * Version: 1.0
 *
 * @package HM
 */

if ( defined( 'WP_INSTALLING' ) && WP_INSTALLING ) {
	return;
}

// Plugins to be loaded for any site.
$global_mu_plugins = [
	'vendor/php-basic-auth/plugin.php',
	/* ... other must-use plugins here ... */
];

步骤 3

在您的项目中定义常数 HM_BASIC_AUTH_USERHM_BASIC_AUTH_PW,就像在 wp-config.php 文件中定义一样。这可以是您的主要 wp-config.php 文件或单独的 .config/constants.php 文件。

注意:虽然不是必需的,但在定义 HM_BASIC_AUTH_USERHM_BASIC_AUTH_PW 之前最好检查您是否处于开发环境,以防止在所有环境中定义常数声明。这增加了防止基本认证意外加载到生产环境中的额外保护层。

您还可能希望禁用本地环境中的基本认证。

您的常数声明应类似于以下内容

// Check if we're in a dev environment but not local.
if (
	// HM_DEV is defined and true.
	( defined( 'HM_DEV' ) && HM_DEV ) &&
	// HM_LOCAL_DEV is either undefined or false.
	( ! defined( 'HM_LOCAL_DEV' ) || defined( 'HM_LOCAL_DEV' ) && ! HM_LOCAL_DEV )
) {
	// Set Basic Auth user and password for dev environments.
	define( 'HM_BASIC_AUTH_USER', 'myusername' );
	define( 'HM_BASIC_AUTH_PW', 'mypassword' );
}

步骤 4(可选)

如果您不希望在本地环境中加载基本认证检查,并且您尚未在 wp-config-local.php 文件中定义 HM_LOCAL_DEV,则现在应该这样做。

/**
 * Set the environment to local dev.
 */
defined( 'HM_LOCAL_DEV' ) or define( 'HM_LOCAL_DEV', true );

您还应在 wp-config-local.sample.php 文件中添加这些行。

变更日志

1.1.6

  • 修复单元测试
  • 更新 composer 测试脚本以使用 composer 安装的 phpunit 版本
  • 如果凭证未定义则提前退出
  • 允许生产环境可能启用认证

1.1.5

  • 修复了当凭证已设置时忽略 hmauth_filter_dev_env 的错误。
  • 将 Chrome 和 Firefox 中的提示截图添加到说明文件中。

1.1.4

  • 添加了对 WP_INSTALLING 的排除,这导致 Altis 健康检查失败。

1.1.3

  • is_development_environment 检查添加了动作钩子,以便在检查环境之前添加动作。

1.1.2

  • 需要 composer/installers,以便可以定义自定义安装路径。

1.1.1

  • 修复了当选项未设置时环境设置被短路的问题。

1.1

  • 将管理员设置的逻辑从检查是否禁用基本身份验证改为检查是否启用基本身份验证,并默认为基于环境的设置。
  • 添加了一个 is_development_environment 函数,该函数包括对 HM_ENV_TYPE 的额外检查,以及可以由过滤器添加的任意定义。
  • 将“基本领域”更新为使用站点名称而不是“访问被拒绝”。
  • 如果以下 WordPress 常量中任何一个是定义并为 true,则禁用基本身份验证:WP_CLIDOING_AJAXDOING_CRON
  • 添加了单元测试。
  • 添加了 Travis CI 集成。

1.0

  • 初始发布。

致谢

由 Human Made 创建,强制进行身份验证以查看开发和测试环境,同时允许这些环境在不登录状态下查看。

Chris Reynolds 维护。

Human Made 用 ❤️ 制作。