Skip to content

Commit bb96e2b

Browse files
author
Fredrick Peter
committed
Critical update and some method name change
1 parent 2f6e943 commit bb96e2b

17 files changed

+819
-947
lines changed

README.md

Lines changed: 90 additions & 178 deletions
Large diffs are not rendered by default.

src/Interface/ValidatorInterface.php

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,40 +9,38 @@ interface ValidatorInterface
99
{
1010

1111
/**
12-
* Return value of needed parameters form objects
12+
* Return value of needed param from Form
1313
*
1414
* @param array|null $keys
15-
*
1615
* @return array
1716
*/
18-
public function only(?array $keys = null);
17+
public function only($keys = null);
1918

2019
/**
21-
* Remove value of parameters form objects
20+
* Remove value of param from Form
2221
*
2322
* @param array|null $keys
24-
*
2523
* @return array|null
2624
*/
27-
public function except(?array $keys = null);
25+
public function except($keys = null);
2826

2927
/**
30-
* Check if param is set in parent param
31-
*
32-
* @param string $key
28+
* Check if Form has a param
3329
*
30+
* @param string|null $key
3431
* @return bool
3532
*/
36-
public function has(?string $key = null);
33+
public function has($key = null);
3734

3835
/**
39-
* Remove value of parameters form objects
36+
* Merge `keys` value to Form param
4037
*
41-
* @param array $keys
38+
* @param array|null $keys
39+
* @param array|null $data
4240
*
4341
* @return array
4442
*/
45-
public function merge(?array $keys = null, ?array $data = null);
43+
public function merge($keys = null, $data = null);
4644

4745

4846
}

src/Methods/CheckDatatype.php

Lines changed: 0 additions & 164 deletions
This file was deleted.

src/Methods/CsrfToken.php

Lines changed: 80 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44

55
namespace Tamedevelopers\Validator\Methods;
66

7+
use Tamedevelopers\Support\Str;
78
use Tamedevelopers\Support\Tame;
9+
use Tamedevelopers\Support\Server;
810

911

1012
class CsrfToken{
@@ -28,7 +30,60 @@ class CsrfToken{
2830
* @var bool
2931
*/
3032
static private $allow_csrf = true;
33+
34+
/**
35+
* Create CSRF Session
36+
*
37+
* @return void
38+
*/
39+
static public function initilaizeCSRFSession()
40+
{
41+
if(defined('GLOBAL_FORM_CSRF_TOKEN')){
42+
self::$allow_csrf = GLOBAL_FORM_CSRF_TOKEN;
43+
}
3144

45+
if(self::$allow_csrf){
46+
// Start the session if it has not already been started
47+
if (session_status() == PHP_SESSION_NONE) {
48+
@session_start();
49+
}
50+
51+
// Generate on new page load
52+
self::generateTokenOnPageLoad();
53+
}
54+
}
55+
56+
57+
/**
58+
* __construct
59+
*
60+
* @return void
61+
*/
62+
public function __construct()
63+
{
64+
// self::$session = 'csrf_token';
65+
// self::$token = bin2hex(random_bytes(32));
66+
67+
// // if defined
68+
// if(defined('GLOBAL_FORM_CSRF_TOKEN')){
69+
// self::$allow_csrf = GLOBAL_FORM_CSRF_TOKEN;
70+
// }
71+
72+
// // if csrf is allowed to be use
73+
// if(self::$allow_csrf){
74+
// // Start the session if it has not already been started
75+
// if (session_status() == PHP_SESSION_NONE) {
76+
// @session_start();
77+
// }
78+
79+
// // Generate on new page load
80+
// self::generateTokenOnPageLoad();
81+
// }
82+
83+
dd(
84+
'ss'
85+
);
86+
}
3287

3388
/**
3489
* initialize data
@@ -49,7 +104,11 @@ static private function init()
49104
if(self::$allow_csrf){
50105
// Start the session if it has not already been started
51106
if (session_status() == PHP_SESSION_NONE) {
52-
@session_start();
107+
session_start();
108+
109+
dd(
110+
PHP_SESSION_NONE
111+
);
53112
}
54113

55114
// Generate on new page load
@@ -68,8 +127,14 @@ static public function getToken()
68127

69128
// session
70129
$session = isset($_SESSION[self::$session])
71-
? json_decode($_SESSION[self::$session], false)
130+
? Server::toObject($_SESSION[self::$session])
72131
: null;
132+
133+
134+
dd(
135+
$session,
136+
'am here'
137+
);
73138

74139
// if session data is available
75140
if($session) {
@@ -115,6 +180,11 @@ static public function generateCSRFInputToken()
115180
$session = self::$session;
116181
$token = self::getToken();
117182

183+
dump(
184+
$session,
185+
$token,
186+
);
187+
118188
if(self::$allow_csrf){
119189
echo '<input type="hidden" name="'.$session.'" value="'.$token.'">';
120190
}
@@ -144,11 +214,14 @@ static private function generateToken()
144214
static private function generateTokenOnPageLoad()
145215
{
146216
// if csrf is allowed to be use
147-
if(self::$allow_csrf){
148-
if ($_SERVER['REQUEST_METHOD'] == 'GET' && empty($_GET)) {
149-
unset($_SESSION[self::$session]);
150-
$_SESSION[self::$session] = Tame::encryptStr(self::$token);
151-
}
217+
if(self::$allow_csrf && empty($_REQUEST['csrf_token']))
218+
{
219+
dump(
220+
'on load generate',
221+
session_status()
222+
);
223+
// unset($_SESSION[self::$session]);
224+
// $_SESSION[self::$session] = Tame::encryptStr(self::$token);
152225
}
153226
}
154227

0 commit comments

Comments
 (0)