Merge pull request #52 from skipperbent/development

[TASK] Csrf-token fixes + readded BaseCsrfVerifier.
This commit is contained in:
Simon Sessingø
2015-12-14 13:40:19 +01:00
2 changed files with 22 additions and 14 deletions
+9 -7
View File
@@ -7,12 +7,6 @@ class CsrfToken {
protected $token;
public function __construct() {
if($this->getToken() === null) {
$this->setToken($this->generateToken());
}
}
/**
* Generate random identifier for CSRF token
* @return string
@@ -51,10 +45,18 @@ class CsrfToken {
* @return string|null
*/
public function getToken(){
if(isset($_COOKIE[self::CSRF_KEY])) {
if($this->hasToken()) {
return $_COOKIE[self::CSRF_KEY];
}
return null;
}
/**
* Returns whether the csrf token has been defined
* @return bool
*/
public function hasToken() {
return isset($_COOKIE[self::CSRF_KEY]);
}
}
+13 -7
View File
@@ -1,6 +1,7 @@
<?php
namespace Pecee\SimpleRouter;
use Pecee\CsrfToken;
use Pecee\Http\Middleware\BaseCsrfVerifier;
use Pecee\Http\Request;
@@ -13,7 +14,7 @@ class RouterBase {
protected $routes;
protected $processedRoutes;
protected $controllerUrlMap;
protected $backstack;
protected $backStack;
protected $loadedRoute;
protected $defaultNamespace;
protected $baseCsrfVerifier;
@@ -23,14 +24,19 @@ class RouterBase {
public function __construct() {
$this->routes = array();
$this->backstack = array();
$this->backStack = array();
$this->controllerUrlMap = array();
$this->baseCsrfVerifier = new BaseCsrfVerifier();
$this->request = Request::getInstance();
$csrf = new CsrfToken();
$token = ($csrf->hasToken()) ? $csrf->getToken() : $csrf->generateToken();
$csrf->setToken($token);
}
public function addRoute(RouterEntry $route) {
if($this->currentRoute !== null) {
$this->backstack[] = $route;
$this->backStack[] = $route;
} else {
$this->routes[] = $route;
}
@@ -87,9 +93,9 @@ class RouterBase {
$this->currentRoute = null;
if(count($this->backstack)) {
$backStack = $this->backstack;
$this->backstack = array();
if(count($this->backStack)) {
$backStack = $this->backStack;
$this->backStack = array();
// Route any routes added to the backstack
$this->processRoutes($backStack, $mergedSettings, $newPrefixes, true, $activeGroup);
@@ -174,7 +180,7 @@ class RouterBase {
* @return array
*/
public function getBackstack() {
return $this->backstack;
return $this->backStack;
}
/**