Подтвердить что ты не робот

Chrome: информация о ERR_BLOCKED_BY_XSS_AUDITOR

Я получаю этот флаг хром при попытке опубликовать, а затем получить простую форму.

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

Есть ли какой-нибудь вариант для более подробного рассмотрения этого вопроса? Просмотрите фрагмент кода, запускающий ошибку для его исправления...

4b9b3361

Ответ 1

Chrome v58 может или не может исправить вашу проблему... Это действительно зависит от того, что вы на самом деле выполняете POST. Например, если вы пытаетесь выполнить POST некоторых необработанных данных HTML/XML в элементе input/select/textarea, ваш запрос все равно может быть заблокирован от аудитора.

В последние несколько дней я столкнулся с этой проблемой в двух разных сценариях: клиенте на стороне клиента WYSIWYG и интерактивной форме загрузки, показывающей какой-то предварительный просмотр контента. Мне удалось исправить их как base64-кодированием необработанного HTML перед отправкой POST, так и расшифровкой на получающей PHP-странице. Это, скорее всего, устранит проблему и, самое главное, повысит уровень осведомленности разработчиков относительно данных, поступающих из запросов POST, надеясь подтолкнуть его к принятию эффективных стратегий кодирования/декодирования данных и укрепить их веб-приложение от атак типа XSS.

Чтобы base64-кодировать содержимое на стороне клиента, вы можете либо использовать функцию native btoa(), которая поддерживается большинством браузеров в настоящее время, или сторонняя альтернатива, такая как плагин jQuery (я закончил использование этого, который работал нормально).

Чтобы base64-декодировать данные POST, вы можете использовать функцию PHP base64_decode(str), ASP.NET Convert.FromBase64String(str) или что-нибудь еще (в зависимости от вашего сценария на стороне сервера).

Для получения дополнительной информации по этой теме я также предлагаю вам прочитать этот пост.

Ответ 2

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

Поместите заголовок перед отправкой данных в браузер.

В php вы можете отправить этот заголовок для обхода этой ошибки, отправить ссылку заголовка:

header('X-XSS-Protection:0');

В ASP.net вы можете отправить этот заголовок и отправить ссылку на ссылку:

HttpContext.Response.AddHeader("X-XSS-Protection","0");

В заголовке nodejs отправить ссылку на ссылку:

res.writeHead(200, {'X-XSS-Protection':0 });
// or express js
res.set('X-XSS-Protection', 0);

Ответ 3

Это может помочь в некоторых обстоятельствах. Измените файл Apache httpd.conf и добавьте

ResponseHeader set X-XSS-Protection 0

Возможно, оно было исправлено в Version 58.0.3029.110 (64-bit).

Ответ 4

В этом случае, будучи первым вкладчиком на Креативные форумы, (что-то вроде vBulletin construct) и сводится к публикации PM модераторам до доступа к форуму, легко инкапсулировать характер проблемы из более популярных ответов выше. Команда была

http://forums.creative.com/private.php?do=insertpm&pmid=

И как описано выше, фактические данные были "необработанными HTML/XML-данными в элементе ввода/выбора/textarea".

Общее требование для обработки такой ошибки (или функции) на стороне пользователя - это некоторая быстрая настройка или исправление. В этом сообщении обсуждается возможность очистки кеша, сброса настроек Chrome, создания new_user или повторной операции с новой бета-версией. Было также предложено, чтобы один из них запускал новый экземпляр со следующим:

google-chrome-stable --disable-xss-auditor

Запуск действительно работал в этой версии W10 1703 Chrome 061 после этой измененной версии:

chrome --disable-xss-auditor

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

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

Ответ 5

Это ошибка Chrome. Единственное средство - использовать FireFox, пока они не исправят эту ошибку Chrome. Аудитор XSS, разбивающий страницу, которая отлично работает 20 лет, кажется симптомом, а не причиной.

Ответ 6

Когда я обновляю href от javascript:void(0) до # на странице запроса POST, он работает.

Например:

<a href="javascript:void(0)" id="loginlink">login</a>

Изменить на:

<a href="#" id="loginlink">login</a>

Ответ 7

Я решил проблему!

В моем случае, когда я делаю подачу, я отправляю HTML-код в действие, и в модели у меня есть свойство, которое принимает HTML с "AllowHTML".

Решение состоит в удалении этого свойства "AllowHTML", и все идет хорошо!

Очевидно, я больше не отправляю HTML в действие, потому что в моем случае мне это не нужно