Я периодически получаю следующую ошибку от нескольких моих контроллеров:
"Этот запрос был заблокирован, поскольку конфиденциальная информация может быть
раскрывается сторонним веб-сайтам, когда это используется в запросе 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 запросов. Я просто запутался в том, почему это происходит, когда я уже делаю то, что явно говорит мне сообщение об ошибке.