Development

- Added check in `CsrfToken` class to ensure that IV generation is strong and secure.
- Minor optimisations mostly related to PHPDocs and PHPStorm code-inspection.
This commit is contained in:
Simon Sessingø
2017-05-09 02:49:41 +02:00
parent 50e8926272
commit 8901e7c125
5 changed files with 20 additions and 8 deletions
+9 -1
View File
@@ -10,6 +10,7 @@ class CsrfToken
/** /**
* Generate random identifier for CSRF token * Generate random identifier for CSRF token
* *
* @throws \RuntimeException
* @return string * @return string
*/ */
public static function generateToken() public static function generateToken()
@@ -18,7 +19,14 @@ class CsrfToken
return bin2hex(random_bytes(32)); return bin2hex(random_bytes(32));
} }
return bin2hex(openssl_random_pseudo_bytes(32)); $isSourceStrong = false;
$random = openssl_random_pseudo_bytes(32, $isSourceStrong);
if ($isSourceStrong === false || $random === false) {
throw new \RuntimeException('IV generation failed');
}
return $random;
} }
/** /**
+1 -1
View File
@@ -60,7 +60,7 @@ class Input
{ {
$list = []; $list = [];
foreach ($_FILES as $key => $value) { foreach ((array)$_FILES as $key => $value) {
// Handle array input // Handle array input
if (is_array($value['name']) === false) { if (is_array($value['name']) === false) {
@@ -66,7 +66,7 @@ class RouteController extends LoadableRoute implements IControllerRoute
foreach (static::$requestTypes as $requestType) { foreach (static::$requestTypes as $requestType) {
if (stripos($method, $requestType) === 0) { if (stripos($method, $requestType) === 0) {
$method = substr($method, strlen($requestType)); $method = (string)substr($method, strlen($requestType));
break; break;
} }
} }
@@ -53,7 +53,7 @@ class RouteResource extends LoadableRoute implements IControllerRoute
/* Remove method/type */ /* Remove method/type */
if (strpos($name, '.') !== false) { if (strpos($name, '.') !== false) {
$name = substr($name, 0, strrpos($name, '.')); $name = (string)substr($name, 0, strrpos($name, '.'));
} }
return (strtolower($this->name) === strtolower($name)); return (strtolower($this->name) === strtolower($name));
+8 -4
View File
@@ -33,6 +33,10 @@ class SimpleRouter
*/ */
protected static $response; protected static $response;
/**
* Router instance
* @var Router
*/
protected static $router; protected static $router;
/** /**
@@ -214,7 +218,7 @@ class SimpleRouter
* @param string $url * @param string $url
* @param string|\Closure $callback * @param string|\Closure $callback
* @param array|null $settings * @param array|null $settings
* @return RouteUrl * @return RouteUrl|IRoute
*/ */
public static function match(array $requestMethods, $url, $callback, array $settings = null) public static function match(array $requestMethods, $url, $callback, array $settings = null)
{ {
@@ -237,7 +241,7 @@ class SimpleRouter
* @param string $url * @param string $url
* @param string|\Closure $callback * @param string|\Closure $callback
* @param array|null $settings * @param array|null $settings
* @return RouteUrl * @return RouteUrl|IRoute
*/ */
public static function all($url, $callback, array $settings = null) public static function all($url, $callback, array $settings = null)
{ {
@@ -259,7 +263,7 @@ class SimpleRouter
* @param string $url * @param string $url
* @param string $controller * @param string $controller
* @param array|null $settings * @param array|null $settings
* @return RouteController * @return RouteController|IRoute
*/ */
public static function controller($url, $controller, array $settings = null) public static function controller($url, $controller, array $settings = null)
{ {
@@ -281,7 +285,7 @@ class SimpleRouter
* @param string $url * @param string $url
* @param string $controller * @param string $controller
* @param array|null $settings * @param array|null $settings
* @return RouteResource * @return RouteResource|IRoute
*/ */
public static function resource($url, $controller, array $settings = null) public static function resource($url, $controller, array $settings = null)
{ {