mistralys/ssl-switcher

用于强制在网站中建立SSL连接的PHP类。

1.0.0 2021-02-20 10:11 UTC

This package is auto-updated.

Last update: 2024-09-23 14:28:47 UTC


README

用于强制在网站中建立SSL连接的PHP类。

安装

只需在您的 composer.json 文件中引入此包。

composer require "mistralys/ssl-switcher"

快速开始

使用脚本的简单方法是使用静态的 autoSwitch() 方法

use Mistralys\SSLSwitcher;

SSLSwitcher::autoSwitch('https://domain.extension');

这将检查当前连接是否为SSL,并根据需要重定向到目标URL。否则,脚本将像往常一样继续执行。

注意:任何现有的请求参数都将附加到目标URL,以保持在同一页面上。

SSL切换条件

只有满足以下条件时,脚本才会将网站重定向到https版本

  1. 脚本不是从命令行运行的
  2. 脚本不是从localhost运行的
  3. SSL未启用

使用类方法

实例化类时,您可以访问其方法 - 例如,在将切换到https之前在您的应用程序中运行一些检查。

use Mistralys\SSLSwitcher;

$switcher = new SSLSwitcher('https://domain.extension');

// Is a switch to https required?
if($switcher->isSwitchRequired())
{
    // Do something before the redirect
}

// Redirect
$switcher->switch();

实用方法

该类有几个实用方法,可能很有用。

  • isCLI() - 脚本是否从命令行运行?
  • isLocalhost() - 服务器是否作为localhost / 127.0.0.1运行?
  • isSSLActive() - SSL是否已启用?
  • getTargetURL() - 脚本将重定向到的URL。

禁用退出调用

默认情况下,类将在重定向后调用 exit()。如果您的应用程序需要处理此操作,则可以关闭退出。

use Mistralys\SSLSwitcher;

$switcher = new SSLSwitcher('https://domain.extension');
$switcher->setExitEnabled(false);
$switcher->switch();

// Handle the exit in the script instead
if($switcher->isSwitchRequired())
{
    exit();
}