Ошибка 400 невозможно определить csrf что это

Программа: Mailwizz

Действие: импорт списков / загрузка файлов / сохранение в базу данных

Ошибка: Ошибка 400!
Невозможно определить CSRF.

Причина и решение:  Ошибка происходит, когда вы загружаете файл большего размера, чем разрешено лимитом PHP, и для передачи токена CSRF нет места.
Решение состоит в том, чтобы увеличить лимит загрузки из вашего файла настроек PHP (php.ini).


Примечание:

Ошибка «Не удалось проверить токен CSRF» обычно появляется, когда вы отправляете форму, содержащую поле для загрузки файла, и выбираете файл, размер которого превышает разрешенный размер файла для загрузки на ваш сервер.

MailWizz не контролирует это поведение, размер загружаемого файла определяется вашим веб-сервером и вашими настройками PHP.
Для веб-сервера nginx прочтите эту статью .
Информацию о веб-сервере Apache с PHP см. В этой статье .
О самом PHP см. В этой статье .

Поскольку это изменение на стороне сервера, вам может потребоваться связаться с вашим хостингом, чтобы помочь вам, или нанять системного администратора, который внесет изменения за вас.


В vesta Cp обратите внимание на значение этой директивы post_max_size / upload_max_filesize и если он маленький — увеличьте его.

Обратите внимание что маленькие лимиты других директив, таких как к примеру memory_limit — так же будут влиять на работу Вашего MailWizz

Перейти к содержимому

Такая ошибка обычно говорит, что проблема с токеном CSRF. Токена нет или токен не тот. Этот токен нужно передавать как в POST так и в AJAX запросах.

На английском эта ошибка звучит так:
Bad Request (#400): Unable to verify your data submission

Проблему можно решить тремя способами:

Два неправильных способа — отключить проверку для всего приложения в конфиге или отключить в конкретном месте. Смотрите код ниже:

    //В файле конфигурации отключаем для всего приложения

    ‘components’ => [

        ‘request’ => [

            ...

             ‘enableCsrfValidation’=>false,

             ...

         ],

         ...

    ],    

    // Отключаем в конкретном месте

    $this>enableCsrfValidation = false;

А теперь правильный способ.

Всегда передавать валидный CSRF токен! В Yii2 для этого есть все инструменты.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

//В мета тэгах вашего шаблона

    echo Html::csrfMetaTags();

//это добавит строки содержащие имя параметра и сам токен

    <meta name=«csrf-param» content=«_csrf»>

    <meta name=«csrf-token» content=«OTDOwBtYk-tsjYLIgTAXrqhKwU-WgneMk_TpFcbE6DwPCIu3XRPJhj202Jn0Z3TP4Ry3ecevOcC-x4ZQkKu8dg==»>

//В формах

    <input type=«hidden» name=«_csrf» value=«OTDOwBtYk-tsjYLIgTAXrqhKwU-WgneMk_TpFcbE6DwPCIu3XRPJhj202Jn0Z3TP4Ry3ecevOcC-x4ZQkKu8dg==»>

    //Если форму создавать методами ActiveForm::begin() и Html:beginForm(), то input будет подставляться автоматически

    //Если же вы сами создаёте форму, то пишите так

    <input type=«hidden» name=«<?=Yii::$app>request>csrfParam; ?>« value=«<?=Yii::$app>request>getCsrfToken(); ?>« />

//Если отправляете ajax запрос, то в javascript можно получить csrf токен из метатэгов

    var param = $(‘meta[name=»csrf-param»]’).attr(«content»);

    var token = $(‘meta[name=»csrf-token»]’).attr(«content»);

    $.ajax({

         url: ‘https://help1c.su’,

         type: ‘post’,

         dataType: ‘json’,

         data: {‘data1’: data1, ‘data2’: data2,....., param : token},

    });

Напечатайонлайн.рф — печатная продукция в Иркутске

wra

Сообщения: 37
Зарегистрирован: 2009.10.28, 13:48

Проблема с CSRF

Проблема при установке параметра в конфиге:

Код: Выделить всё

'request'=>array(
    'enableCsrfValidation'=>true,
), 

После этого невозможно удалить запись (например статью или комментарий в моем случае). Вываливает 400-ошибку: «Невозможно определить CSRF.»
Есть идеи как это решить?

wra

Сообщения: 37
Зарегистрирован: 2009.10.28, 13:48

Re: Проблема с CSRF

Сообщение

wra » 2009.11.12, 14:19

Спасибо. Идея понятна. С реализацией проблема…
Удаление идет по ссылке, на которую наверчена отправка jQuery-формы:

Код: Выделить всё

/*<![CDATA[*/
jQuery(document).ready(function() {
jQuery('#yt0').click(function(){if(confirm('Точно удалить?')) {jQuery.yii.submitForm(this,'/articles/delete/id/10',{});return false;} else return false;});
});
/*]]>*/
 

Подскажите каким образом сюда можно вставить скрытое поле? Или как то по другому делается?

Аватара пользователя

Обратите внимание что маленькие лимиты других директив, таких как к примеру memory_limit — так же будут влиять на работу Вашего MailWizz

Перейти к содержимому

Такая ошибка обычно говорит, что проблема с токеном CSRF. Токена нет или токен не тот. Этот токен нужно передавать как в POST так и в AJAX запросах.

На английском эта ошибка звучит так:
Bad Request (#400): Unable to verify your data submission

Проблему можно решить тремя способами:

Два неправильных способа — отключить проверку для всего приложения в конфиге или отключить в конкретном месте. Смотрите код ниже:

    //В файле конфигурации отключаем для всего приложения

    ‘components’ => [

        ‘request’ => [

            ...

             ‘enableCsrfValidation’=>false,

             ...

         ],

         ...

    ],    

    // Отключаем в конкретном месте

    $this>enableCsrfValidation = false;

А теперь правильный способ.

Всегда передавать валидный CSRF токен! В Yii2 для этого есть все инструменты.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

//В мета тэгах вашего шаблона

    echo Html::csrfMetaTags();

//это добавит строки содержащие имя параметра и сам токен

    <meta name=«csrf-param» content=«_csrf»>

    <meta name=«csrf-token» content=«OTDOwBtYk-tsjYLIgTAXrqhKwU-WgneMk_TpFcbE6DwPCIu3XRPJhj202Jn0Z3TP4Ry3ecevOcC-x4ZQkKu8dg==»>

//В формах

    <input type=«hidden» name=«_csrf» value=«OTDOwBtYk-tsjYLIgTAXrqhKwU-WgneMk_TpFcbE6DwPCIu3XRPJhj202Jn0Z3TP4Ry3ecevOcC-x4ZQkKu8dg==»>

    //Если форму создавать методами ActiveForm::begin() и Html:beginForm(), то input будет подставляться автоматически

    //Если же вы сами создаёте форму, то пишите так

    <input type=«hidden» name=«<?=Yii::$app>request>csrfParam; ?>« value=«<?=Yii::$app>request>getCsrfToken(); ?>« />

//Если отправляете ajax запрос, то в javascript можно получить csrf токен из метатэгов

    var param = $(‘meta[name=»csrf-param»]’).attr(«content»);

    var token = $(‘meta[name=»csrf-token»]’).attr(«content»);

    $.ajax({

         url: ‘https://help1c.su’,

         type: ‘post’,

         dataType: ‘json’,

         data: {‘data1’: data1, ‘data2’: data2,....., param : token},

    });

Напечатайонлайн.рф — печатная продукция в Иркутске

wra

Сообщения: 37
Зарегистрирован: 2009.10.28, 13:48

Проблема с CSRF

Проблема при установке параметра в конфиге:

Код: Выделить всё

'request'=>array(
    'enableCsrfValidation'=>true,
), 

После этого невозможно удалить запись (например статью или комментарий в моем случае). Вываливает 400-ошибку: «Невозможно определить CSRF.»
Есть идеи как это решить?

wra

Сообщения: 37
Зарегистрирован: 2009.10.28, 13:48

Re: Проблема с CSRF

Сообщение

wra » 2009.11.12, 14:19

Спасибо. Идея понятна. С реализацией проблема…
Удаление идет по ссылке, на которую наверчена отправка jQuery-формы:

Код: Выделить всё

/*<![CDATA[*/
jQuery(document).ready(function() {
jQuery('#yt0').click(function(){if(confirm('Точно удалить?')) {jQuery.yii.submitForm(this,'/articles/delete/id/10',{});return false;} else return false;});
});
/*]]>*/
 

Подскажите каким образом сюда можно вставить скрытое поле? Или как то по другому делается?

Ozzy

Сообщения: 269
Зарегистрирован: 2009.04.02, 15:09
Откуда: Украина, Одесса

Re: Проблема с CSRF

Сообщение

Ozzy » 2009.11.13, 01:44

Ну так это полюбому submitForm, значит где то вверху форма таки определяется?

wra

Сообщения: 37
Зарегистрирован: 2009.10.28, 13:48

Re: Проблема с CSRF

Сообщение

wra » 2009.11.13, 18:39

Вот этот:

Код: Выделить всё

/*<![CDATA[*/
jQuery(document).ready(function() {
jQuery('#yt0').click(function(){if(confirm('Точно удалить?')) {jQuery.yii.submitForm(this,'/articles/delete/id/10',{});return false;} else return false;});
});
/*]]>*/
 

Аватара пользователя

samdark

Администратор
Сообщения: 9473
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Проблема с CSRF

Сообщение

samdark » 2009.11.13, 22:13

Нет, это то, что получается в итоге. Должен быть PHP-код, который это нагенерил.

wra

Сообщения: 37
Зарегистрирован: 2009.10.28, 13:48

Re: Проблема с CSRF

Сообщение

wra » 2009.11.15, 12:15

Вот генерация:

Код: Выделить всё

<li><?=CHtml::linkButton('удал',array(
    'submit'=>array('articles/delete','id'=>$Article->articleId),
    'confirm'=>"Точно удалить?",'class'=>'delete'))?></li>

wra

Сообщения: 37
Зарегистрирован: 2009.10.28, 13:48

Re: Проблема с CSRF

Сообщение

wra » 2009.11.15, 13:31

Добавление в linkButton:

Код: Выделить всё

'YII_CSRF_TOKEN'=>Yii::app()->request->csrfToken

дало то, что в саму ссылку дабавился этот параметр со значением. Но это не помогло создать скрытое поле (я так понимаю и не должно было). Поясните пожалуйста на примере как добавляется скрытое поле а форму, которая генерится через linkButton(). Либо если можно передавать не только через скрытое поле, то поясните как…

Аватара пользователя

delvin

Сообщения: 85
Зарегистрирован: 2009.11.13, 15:29

Re: Проблема с CSRF

Сообщение

delvin » 2009.11.15, 19:28

linkButton в этом случае создает post-запрос динамически, т.е. никаких форм не создается и не отправляется.
Попробуй так:

Код: Выделить всё

<li><?=CHtml::linkButton('удал',array(
    'submit'=>array('articles/delete','id'=>$Article->articleId),
    'params'=>array('YII_CSRF_TOKEN' => Yii::app()->request->csrfToken,),
    'confirm'=>"Точно удалить?",'class'=>'delete'))?></li>

I have a very strange problem. I have a login form in Yii which works fine. After moving the website to another server I get

Error 400 The CSRF token could not be verified

I don’t understand why it is working on the development server but not on the new server. here is my code:

<div class="form">

<?php $form=$this->beginWidget('CActiveForm', array(
    'id'=>'login-form',
    'enableClientValidation'=>true,
    'clientOptions'=>array(
       'validateOnSubmit'=>true,
    ),
)); ?>


<div class="row">
    <?php echo $form->labelEx($model,'username'); ?>
    <?php echo $form->textField($model,'username'); ?>
    <?php echo $form->error($model,'username'); ?>
</div>

<div class="row">
    <?php echo $form->labelEx($model,'password'); ?>
    <?php echo $form->passwordField($model,'password'); ?>
    <?php echo $form->error($model,'password'); ?>
</div>

<div class="row buttons">
    <?php echo CHtml::submitButton('Submit'); ?>
</div>

<?php $this->endWidget(); ?>

and here is the csrf configuration in my config file:

'enableCsrfValidation' => !isset($_POST['dontvalidate']) ? true : false,

if you need to see the example. Here is the one which is working, and here is the one with the problem

Невозможно определить CSRF.

Модератор: Nabiba

Невозможно определить CSRF.

Здравствуйте
не загружаются фото пишет то ошибку 404 то Невозможно определить CSRF.
можно ли как то исправить??
спасибо

tschayka
 
Сообщения: 102
Зарегистрирован: 26.08.2012 06:58

Re: Невозможно определить CSRF.

Сообщение Nabiba » 06.08.2016 09:32

Добрый день,
В каком формате у вас фотографии и с какого устройства вы пытаетесь произвести загрузку?

Аватара пользователя
Nabiba
 
Сообщения: 2160
Зарегистрирован: 10.05.2012 10:50

Re: Невозможно определить CSRF.

Сообщение tschayka » 08.08.2016 15:42

Добрый….
фотографии в jpg а устройство… ноутбук vaio

tschayka
 
Сообщения: 102
Зарегистрирован: 26.08.2012 06:58

Re: Невозможно определить CSRF.

Сообщение Nabiba » 08.08.2016 15:59

Добрый день
Ошибка очень странная, похоже в первую очередь на вредоносное ПО. Проверьте, пожалуйста, свое устройство на вирусы.

Если антивирусная программа вирусов не выявит, пришлите, пожалуйста, следующие данные:
название и версию браузера,что у вас за антивирус, а также скриншот страницы с ошибкой, чтобы на нем был виден адрес в адресной строке.

Аватара пользователя
Nabiba
 
Сообщения: 2160
Зарегистрирован: 10.05.2012 10:50

Re: Невозможно определить CSRF.

Сообщение Elena Leo » 08.08.2016 16:02

Добрый день! Та же проблема. Второй день не могу опубликовать пост :cry:
Пишет: » Ошибка 400″ и «Невозможно определить CSRF»
Заново печатаю текст, прикрепляю фото…И всё улетает…ОЧЕНЬ жаль потраченного времени. Только порадовалась какой удобный и информативный стал сайт. Сглазила что ли?!! :roll:
Браузер Гугл, формат фото JPEG.

Elena Leo
 
Сообщения: 79
Зарегистрирован: 22.10.2012 16:14

Re: Невозможно определить CSRF.

Сообщение Nabiba » 08.08.2016 16:20

Добрый день
как я писала выше, похоже на вирус. Проверьте, пожалуйста, свое устройство на вирусы.

Если антивирусная программа вирусов не выявит, пришлите, пожалуйста, следующие данные:
версию браузера,что у вас за антивирус, а также скриншот страницы с ошибкой, чтобы на нем был виден адрес страницы в адресной строке.

Аватара пользователя
Nabiba
 
Сообщения: 2160
Зарегистрирован: 10.05.2012 10:50

Re: Невозможно определить CSRF.

Сообщение Elena Leo » 08.08.2016 17:46

Nabiba писал(а):Добрый день
как я писала выше, похоже на вирус. Проверьте, пожалуйста, свое устройство на вирусы.

Если антивирусная программа вирусов не выявит, пришлите, пожалуйста, следующие данные:
версию браузера,что у вас за антивирус, а также скриншот страницы с ошибкой, чтобы на нем был виден адрес страницы в адресной строке.

Антивирусник- обычный Касперский. Провела полную проверку. Ничего не обнаружено. Почистила куки с кешами. Попробовала снова опубликоваться с одной фотографией и без текста. И знаете, получилось!! :D
Вечером попробую ещё раз, но уже весь пост. Надеюсь виноваты были эти самые куки… :lol:

Elena Leo
 
Сообщения: 79
Зарегистрирован: 22.10.2012 16:14

Re: Невозможно определить CSRF.

Сообщение Verevochca » 24.02.2017 17:59

И у меня такая же ошибка третий день не могу разместить работу на ФФ.
Невозможно определить CSRF — вот что пишет… Что делать? Комп домашний ноут Леново, фото в JPG. На вирусы проверила утром, только завершилась, все ОК и снова та же ошибка…

Verevochca
 
Сообщения: 15
Зарегистрирован: 16.06.2013 17:49


Вернуться в burdastyle.ru

Понравилась статья? Поделить с друзьями:
  • Ошибка 400 неверный запрос размер заголовка
  • Ошибка 400 неверный запрос как исправить
  • Ошибка 400 не может обработать этот запрос
  • Ошибка 400 не могу скачать
  • Ошибка 400 на сайте что это означает