Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Phalcon, CSRF
VeRTak  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местная прописка
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 860
Пользователь №: 41530
На форуме: 1 год, 11 месяцев, 25 дней
Карма: 11




Знаю, что есть тут люди хорошо знающие данный фреймворк.

Раньше работал через компонент 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'
])
);



--------------------
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
VeRTak  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местная прописка
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 860
Пользователь №: 41530
На форуме: 1 год, 11 месяцев, 25 дней
Карма: 11




В общем все дело в ajax. Перегуглил много различных решений, все разные и под разные задачи, решил своими силами


--------------------
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса