/** * Main execution method * * @param \Framework\core\HttpRequest $request * @param \Framework\core\HttpResponse $response * @return Framework\Core */ public function _before(&$request, &$response) { $config = $this->getConfig(); if (PHP_SAPI === 'cli') { $request->setCli(true); $params = \application\modules\cli\CliUtils::extractParams(); $params['module'] = 'cli'; $state = \framework\core\Request::CLI_STATE; } else { $url = $request->getUrl(); $path = $this->getComponent('route')->urlToPath($url, $config['defaultModule'], $config['defaultAction']); $params = $this->getComponent('route')->pathToParams($path); $this->duplicateContentPolicy($url, $path, $params); $state = \framework\core\Request::FIRST_REQUEST; // Views variables $this->viewSetGlobal('messages', $this->getComponent('message')->getAll()); if (!class_exists('application\\modules\\' . $params['module'] . '\\controllers\\' . $params['action'])) { $params['module'] = 'errors'; $params['action'] = 'error404'; $params['params'] = array(); } } $request->setRequest($this->createRequest($params['module'], $params['action'], $params['params'], $state)); }
/** * Main execution method * * @param \Framework\core\HttpRequest $request * @param \Framework\core\HttpResponse $response * @return Framework\Core */ public function _before(&$request, &$response) { if (!$request->isCli()) { $previousIpAddress = $request->getPreviousIpAddress(); $previousUserAgent = $request->getPreviousUserAgent(); if ($previousIpAddress !== null && $previousIpAddress != $request->getIpAddress() && $previousUserAgent !== null && $previousUserAgent != $request->getUserAgent()) { $this->getComponent('session')->destroyAll(); $this->getComponent('message')->set('It seems that your session has been stolen, we destroyed it for security reasons. Check your environment security.', 'warning'); $this->getResponse()->redirect($this->getConfig('siteUrl'), 301, true); } } }