nyeholt/silverstripe-restrictedcms

一个SilverStripe CMS模块,当用户访问受保护的URL时,会强制用户访问不同的主机名。

安装数量: 1,118

依赖项: 1

建议者: 0

安全: 0

星标: 1

关注者: 1

分支: 1

公开问题: 0

类型:silverstripe-module

dev-master / 1.0.x-dev 2018-05-29 03:48 UTC

This package is auto-updated.

Last update: 2024-08-29 04:37:02 UTC


README

一个SilverStripe CMS模块,当用户访问受保护的URL时,会强制用户访问不同的主机名。

要求

  • SilverStripe 3.2.x

入门

  • 将模块放置在您的根项目目录下。
  • /dev/build
  • 在您的项目 _config/ 文件夹中创建一个 restrictedcms.yml 文件,配置与 docs/en/restrictedcms.yml.sample 中找到的类似。

概述

受限CMS模块通过截获传入的CMS请求并与特定主机的模式集进行比较来确定是否允许由当前服务器提供服务。

这提供了两层保护

  • 验证最终用户提供的 HTTP_HOST 是否允许由“此”服务器提供服务
  • 允许将特定URL的请求重定向到不同的主机名,这些主机名可能位于某个防火墙后面。

特定环境配置

如果您有一个独立的创作实例(例如 cms.mysite.com)与主站(例如 www.mysite.com)分开,您可以指定仅针对特定环境加载的配置。使用 restrictedcms.yml.sample 示例文件,可以通过使用从 _ss_environment.php 中的 ENV_TYPE_FRONTEND 或 ENV_TYPE_BACKEND 定义来包含/排除每个环境的配置块。

由于SilverStripe的配置层仅允许基于define的属性进行交换,如果您通过从您的web服务器中设置环境变量来设置这些属性,您可能需要以下片段:

foreach (array('ENV_PROD', 'ENV_TEST', 'ENV_TYPE_FRONTEND', 'ENV_TYPE_BACKEND') as $envVar) {
    if (getenv($envVar)) {
        define($envVar, 1);
    }
}