Раньше работал через компонент Form. Сейчас пилю только через Validation и столкнулся с проблемами, никак не могу завести скрипт.
Пробовал как написано в доке.
<input type="hidden" name="<?php echo $this->security->getTokenKey() ?>" value="<?php echo $this->security->getToken() ?>"/>
<?php
use Phalcon\Mvc\View;
class SingUpController extends ControllerBase
{
public function indexAction()
{
if($this->request->isAjax() && $this->request->isPost())
{
$this->view->setRenderLevel(
View::LEVEL_NO_RENDER
);
if($this->security->checkToken()) {
echo json_encode(["answer" => true]);
}
else
{
echo json_encode(["answer" => false]);
}
}
}
}
в ответ получаю false.
При подцветки синтаксиса, вижу что метод получает два параметра, tokenKey и tokenValue. По логике вещей делаю так, но тоже получаю false
<input type="hidden" name="<?php echo $this->security->getTokenKey() ?>" value="<?php echo $this->security->getToken() ?>"/>
<?php
use Phalcon\Mvc\View;
class SingUpController extends ControllerBase
{
public function indexAction()
{
if($this->request->isAjax() && $this->request->isPost())
{
$this->view->setRenderLevel(
View::LEVEL_NO_RENDER
);
if($this->security->checkToken($this->request->getPost('csrfKey'), $this->request->getPost('csrfVal'))) {
echo json_encode(["answer" => true]);
}
else
{
echo json_encode(["answer" => false]);
}
}
}
}
До этого пытался завести через валидатор, но тоже безрезультатно
<input type="hidden" name="upCSRF" value="<?php echo $this->security->getToken() ?>" data-csrf>
$this->add("upCSRF",
new Identical([
'value' => $this->security->getSessionToken(),
'message' => 'CSRF'
])
);