From 93562bd75801c91ef84b3ecfa74bc65b42f80729 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20Sessing=C3=B8?= Date: Tue, 15 Nov 2016 08:46:14 +0100 Subject: [PATCH] Csrf bugfixes --- src/Pecee/Http/Input/InputCollection.php | 17 +++++++++++++++++ src/Pecee/Http/Middleware/BaseCsrfVerifier.php | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/Pecee/Http/Input/InputCollection.php b/src/Pecee/Http/Input/InputCollection.php index 352a667..cf81977 100644 --- a/src/Pecee/Http/Input/InputCollection.php +++ b/src/Pecee/Http/Input/InputCollection.php @@ -30,6 +30,23 @@ class InputCollection implements \IteratorAggregate { return $defaultValue; } + public function getValue($index, $defaultValue = null) { + if(count($this->data)) { + + if(isset($this->data[$index])) { + return $this->data[$index]->getValue(); + } + + foreach($this->data as $key => $value) { + if(strtolower($index) === strtolower($key)) { + return $value->getValue(); + } + } + } + + return $defaultValue; + } + /** * @param $index * @throws \InvalidArgumentException diff --git a/src/Pecee/Http/Middleware/BaseCsrfVerifier.php b/src/Pecee/Http/Middleware/BaseCsrfVerifier.php index 7b4f082..7739bdd 100644 --- a/src/Pecee/Http/Middleware/BaseCsrfVerifier.php +++ b/src/Pecee/Http/Middleware/BaseCsrfVerifier.php @@ -54,7 +54,7 @@ class BaseCsrfVerifier implements IMiddleware { if($request->getMethod() !== 'get' && !$this->skip($request)) { - $token = $request->getInput()->post->findFirst(static::POST_KEY); + $token = $request->getInput()->post->getValue(static::POST_KEY); // If the token is not posted, check headers for valid x-csrf-token if($token === null) {