Ejemplo n.º 1
0
 /**
  * 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));
 }
Ejemplo n.º 2
0
    /**
     * 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);
            }
        }
    }