【问题标题】:zf2 skeleton app, convert everything to httpszf2 骨架应用程序,将所有内容转换为 https
【发布时间】:2017-01-23 17:38:50
【问题描述】:

我想知道是否有一种快速的方法可以将基于 zf2 骨架的现有 zend 框架 2 应用程序转换为完整的https?当一切都在http 上时,包括ajax 请求

【问题讨论】:

    标签: http security https zend-framework2


    【解决方案1】:

    最简单、最安全的方法之一是将http 的所有传入流量/请求永久重定向到https

    您可以通过将重定向规则添加到端口 80 的虚拟主机来执行此操作。请查看 this answer on security.stackexchange.com 了解有关如何执行此操作的详细信息。

    您应该考虑参考security.stackexchange.com 以获取有关此主题的帖子。此 StackExchange 网站不适合处理此类安全问题。

    【讨论】:

      【解决方案2】:

      也许不是完美的解决方案,但有一些来自 zfmodules.com 的模块具有一些功能

      希望对你有帮助!

      【讨论】:

        【解决方案3】:

        我已经在一个使用多个站点的项目中完成了这项工作,一些是 http,另一些是 https。

        在你的 module.config 中,你需要添加一个路由监听器到 onBootstrap 函数。

        use Zend\Mvc\MvcEvent;
        ...
        
            $eventManager = $event->getApplication()->getEventManager();
            $eventManager->attach(MvcEvent::EVENT_ROUTE, array($this, 'onRoute'), -100);
        

        并添加 onRoute 函数。

        public function onRoute(MvcEvent $event)
            {
                $uri = $event->getRequest()->getUri();
                $scheme = $uri->getScheme();
                if ($scheme !== 'https') {
                    $uri->setScheme('https');
                    $response = $event->getResponse();
                    $response->getHeaders()->addHeaderLine('Location', $uri);
                    $response->setStatusCode(302);
                    $response->sendHeaders();
                    $event->stopPropagation(true);
                }
            }
        

        这将强制所有 http 请求重定向到 https。

        我希望这会有所帮助。

        【讨论】:

          猜你喜欢
          • 2014-01-15
          • 1970-01-01
          • 2014-09-12
          • 2014-07-31
          • 2018-04-23
          • 1970-01-01
          • 2023-03-15
          • 2021-12-31
          • 2012-02-06
          相关资源
          最近更新 更多