У меня есть приложение Symfony с открытым исходным кодом, и мне нужно отключить проверки CSRF глобально или хотя бы для некоторых <forms>
. Помимо двух описанных ниже методов, я также попытался удалить различные строки кода, в которых упоминается CSRF, но ничего не помогло.
Что я пробовал:
- Я пытался глобально отключить CSRF, как описано здесь Как я могу глобально включить защиту CSRF на Symfony 3 с помощью FOSUserBundle , но проблема в моем приложении Symfony, в каталоге
root/config
нет файлов .yml
- он содержит только: settings.php
, default.settings.php
, dev.php
, prod.php
, languages.php
, но не .yml
/ .xml
файлов - Я пытался отключить CSFR для определенного c
<form>
как описано здесь Как отключить csrf в symfony? , но проблема в том, что мой <form>
основан на HTML, а не на PHP. Приложение My Symfony не создает <form>
s через PHP.
My Symfony Приложение:
...
// Authentication
$app->get('/login', '\AgenDAV\Controller\Authentication::loginAction')->bind('login');
$app->post('/login', '\AgenDAV\Controller\Authentication::loginAction');
$app->get('/logout', '\AgenDAV\Controller\Authentication::logoutAction')->bind('logout');
// CSRF protection
$app->before(function(Request $request, Application $app) {
return \AgenDAV\Csrf::check($request, $app);
});
...
- Шаблон формы входа находится в
root/templates/login.html
, и он вызывается внутри root/src/controller/Authentication.php
:
...
return $app['twig']->render('login.html', $template_vars);
...