Как отключите csrf-проверку для страницы

InstantCMS 2.X
#1 21 апреля 2023 в 21:32

Привет. Не могу получить post запрос из стороннего источника. Думаю, что может дело в этом? Как это решается?

Добавлено спустя 58 минут

Проверил. Причина не в этом.

#2 21 апреля 2023 в 22:29

 Lora, как получаете? через 

  1. $this->request->get('param','');

request видит только $_GET и $_POST

Если данные приходят от какой-нибудь библиотеки, то может помочь примерно такая конструкция

  1. public function __construct(cmsRequest $request) {
  2.  
  3. //получим поток запроса
  4. $request_body = file_get_contents('php://input');
  5. //в нем json данные, разберем
  6. $payload = json_decode($request_body,true);
  7. //если данные там есть, поместим их в реквест для дальнейшего использования
  8. if(is_array($payload)){
  9. $request->set('payload',$payload);
  10. }
  11. //вызовем родительский метод, так как мы его переопределили
  12. parent::__construct($request);
  13. }
  14.  
  15. public function actionSearch() {
  16.  
  17. $search = $this->request->get('payload:search');
  18. $page = $this->request->get('payload:page');
  19. $type = $this->request->get('payload:type');
  20. $date = $this->request->get('payload:date');
  21.  
  22. $results = $this->search($search,$page,$type,$date);
  23.  
  24. return $this->cms_template->renderJSON($results);
  25.  
  26. }
#3 22 апреля 2023 в 06:45

Да там дело в другом было. Не успевал поймать просто).  Но ваш пример крут). Не знал, что в $request можно что то записать.Возьму на вооружение. Спасибо.

Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.