|
6 | 6 | use View;
|
7 | 7 | use Flash;
|
8 | 8 | use Event;
|
| 9 | +use Config; |
9 | 10 | use Request;
|
10 | 11 | use Backend;
|
11 | 12 | use Session;
|
|
34 | 35 | */
|
35 | 36 | class Controller extends Extendable
|
36 | 37 | {
|
| 38 | + use \System\Traits\ViewMaker; |
37 | 39 | use \System\Traits\AssetMaker;
|
38 | 40 | use \System\Traits\ConfigMaker;
|
39 |
| - use \System\Traits\ViewMaker; |
40 | 41 | use \Backend\Traits\WidgetMaker;
|
41 | 42 | use \October\Rain\Support\Traits\Emitter;
|
42 | 43 |
|
@@ -118,11 +119,6 @@ class Controller extends Extendable
|
118 | 119 | */
|
119 | 120 | protected $statusCode = 200;
|
120 | 121 |
|
121 |
| - /** |
122 |
| - * @var bool Determine if submission requests use CSRF protection. |
123 |
| - */ |
124 |
| - public $useSecurityToken = true; |
125 |
| - |
126 | 122 | /**
|
127 | 123 | * Constructor.
|
128 | 124 | */
|
@@ -176,7 +172,7 @@ public function run($action = null, $params = [])
|
176 | 172 | /*
|
177 | 173 | * Check security token.
|
178 | 174 | */
|
179 |
| - if ($this->useSecurityToken && !$this->verifyCsrfToken()) { |
| 175 | + if (!$this->verifyCsrfToken()) { |
180 | 176 | return Response::make(Lang::get('backend::lang.page.invalid_token.label'), 403);
|
181 | 177 | }
|
182 | 178 |
|
@@ -629,11 +625,16 @@ public function isBackendHintHidden($name)
|
629 | 625 |
|
630 | 626 | /**
|
631 | 627 | * Checks the request data / headers for a valid CSRF token.
|
632 |
| - * Returns false if a valid token is not found. |
| 628 | + * Returns false if a valid token is not found. Override this |
| 629 | + * method to disable the check. |
633 | 630 | * @return bool
|
634 | 631 | */
|
635 | 632 | protected function verifyCsrfToken()
|
636 | 633 | {
|
| 634 | + if (!Config::get('cms.enableCsrfProtection')) { |
| 635 | + return true; |
| 636 | + } |
| 637 | + |
637 | 638 | if (in_array(Request::method(), ['HEAD', 'GET', 'OPTIONS'])) {
|
638 | 639 | return true;
|
639 | 640 | }
|
|
0 commit comments