- Implemented CSRF check, some bugfixes also included

This commit is contained in:
mcndave committed 2022-02-03 20:06:04 +00:00
1 parent 362184f81f
commit 97f1f67af1
7 files changed
+72 -31

No files matched your search

-16
View File
@@ -32,22 +32,6 @@ class Form implements Extension {
$context->pushFunction("form", [ $this, 'formClass' ]);
}
public function form_csrf(string $field, string $value) {
$values = $this->session("View.form.csrf.$field") ?: [];
# keeps 20 (from config) latest CSRF key for this form into session,
# allowing more than one tab opened and preventing information loss
if ( count($values) >= 20 ) {
#array_shift($values);
}
$values[] = $value;
$this->session("View.form.csrf.$field", $values);
return $value;
}
public function formClass(FormInterface $form, ? FormContext $formContext = null) : FormHandler
{
return new FormHandler($this->request, $form, $formContext);