GET Запрос заблокирован, хотя AllowGet установлен в контроллере - PullRequest
0 голосов
/ 07 мая 2019

Я периодически получаю следующую ошибку от нескольких моих контроллеров:

"Этот запрос был заблокирован, поскольку конфиденциальная информация может быть раскрывается сторонним веб-сайтам, когда это используется в запросе GET. Чтобы разрешить запросы GET, установите для JsonRequestBehavior значение AllowGet. "

Но в операторе return я устанавливаю JsonRequestBehavior в значение AllowGet

return Json(new {Success = true, Plan = populatedPlan}, JsonRequestBehavior.AllowGet);

Я обнаружил следующую статью, в которой описана уязвимость при возврате JSON с запросами GET.

https://haacked.com/archive/2009/06/25/json-hijacking.aspx/

Я проверил свой код, и некоторые контроллеры возвращали только один массив JS, поэтому я исправил их так, чтобы они возвращали объект с массивом, назначенным для свойства этого объекта. Тем не менее, не все мои контроллеры делают это, как в моем фрагменте кода - который возвращает объект JS - но ответ по-прежнему иногда блокируется.

Как я могу предотвратить возникновение этой ошибки?

[Изменить] Это происходит примерно в 1 из каждых 200 запросов. Я просто запутался в том, почему это происходит, когда я уже делаю то, что явно говорит мне сообщение об ошибке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...