За последние 24 часа нас посетили 22192 программиста и 1160 роботов. Сейчас ищут 389 программистов ...

Почему yii2 не проверяет токен, в запросе от angular.

Тема в разделе "Yii", создана пользователем Artur_hopf, 9 дек 2019.

  1. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    Добрый день. Создал такой контроллер:
    PHP:
    1. <?php
    2. namespace app\controllers;
    3. use Yii;
    4. use yii\web\Controller;
    5. class PostController extends Controller{
    6.     public function actionTest()
    7.     {
    8.             $result = [1,2,3,4,5,6];
    9.             return json_encode($result);
    10.     }
    11. }
    Стучусь к нему через angular
    Код (Javascript):
    1. var app = angular.module('myApp', []);
    2. app.controller('customersCtrl', function($scope, $http) {
    3.     //var authToken = document.querySelector('meta[name="csrf-token"]').getAttribute('content');
    4.     //$http.defaults.headers.post['My-Header'] = authToken;
    5.     $http.get("post/test").then(function (response) {
    6.         console.log(response.data);
    7.     });
    8. });
    Почему yii2 отдает данные если даже нет csrf токена?
    --- Добавлено ---
    Так , он вообще отдает данные по url
    http://localhost/post/test

    как этого избежать?
    --- Добавлено ---
    Так не отдаст конечно, но и ангуляру тоже
    PHP:
    1. if($request->isAjax)
    2. {
    3.             $result = [1,2,3,4,5,6];
    4.  
    5.             return json_encode($result);
    6. }
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.823
    Симпатии:
    736
    Адрес:
    Татарстан
    А должен разве? get запросам вроде не треба. .
     
  3. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    да, а как затребовать?)
     
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.554
    Симпатии:
    1.754
    @Artur_hopf, для реализации API есть разные стандартные поведения, которые можно навесить на контроллер. И проверяется не CSRF-токен обычно, а какой-нибудь авторизационный, типа jwt. https://www.yiiframework.com/doc/guide/2.0/ru/rest-authentication
     
  5. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.823
    Симпатии:
    736
    Адрес:
    Татарстан
    в yii точно не знаю, в laravel - midleware
     
  6. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.554
    Симпатии:
    1.754
    @ADSoft, поведения :)
    --- Добавлено ---
    Посредников обещают в третьей версии, хотя, куда она сейчас идёт, мне не нравится. Потеряли то, что было удобно во второй версии, а то, что удобно у конкурентов - не получили.
     
  7. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    Эти люди легких путей не ищут :D