Ресурс заблокирован из-за MIME-типа? - PullRequest
0 голосов
/ 29 мая 2019

В течение многих лет я успешно включал файлы JavaScript, которые создаются динамически.

Вот пример: https://granadainfo.com/sups.php?locs=95

Как видите, он загружается нормально.

Я обычно помещаю их в заголовок моего HTML-документа, как это.

script type = "text / javascript" src = "https://granadainfo.com/sups.php?locs=95"

/ сценарий

В последние несколько дней они перестали работать.

Сообщение об ошибке от консоли отладчика firefox выглядит следующим образом.

Ресурс из «https://granadainfo.com/sups.php?locs=95” был заблокирован из-за несоответствия типа MIME (« text / html ») (X-Content-Type-Options: nosniff).

Я использую веб-хостинг a2. Должно быть, они внесли некоторые изменения в конфигурацию, чтобы она перестала работать.

Возможно, я справлюсь с этой проблемой с помощью строки в файле .htaccess.

Хостинг A2 предложил эту строку, но она не работает. Заголовок всегда сбрасывается X-Frame-Options

Проблема возникает только при получении запроса на получение. то есть? locs = 95

Нет проблем со статическими файлами.

Я попытался изменить имя файла на .js и изменил файл .htaccess для анализа .js как php, но это не имеет значения.

Ответы [ 3 ]

2 голосов
/ 29 мая 2019

PHP по умолчанию Content-Type: text/html. Если вы не используете HTML, вам нужно использовать функцию header() , чтобы указать, что вы обслуживаете.

<?php
    header("Content-Type: application/javascript");
0 голосов
/ 30 мая 2019

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

Есть простое решение.

По соображениям безопасности мы недавно установили «X-Content-Type-Options» на «nosniff» по умолчанию на всех наших серверах. Если опция не была установлена ​​вручную в вашем файле ".htaccess", то сайт просто по умолчанию использовал то, что использовал сервер (nosniff). Именно это и стало причиной ошибки на сайте.

Ранее в этом билете вам было сказано ошибочно сбросить заголовок "X-Frame-Options", потому что эта опция предназначена только для фреймов. Фактический заголовок, который нужно было удалить, был «X-Content-Type-Options».

Это строка для добавления в начало вашего файла .htaccess.

Заголовок всегда сбрасывает X-Content-Type-Options

0 голосов
/ 30 мая 2019

Я согласен с вашим ответом.

В конце я изменил имена файлов на .js и сделал так .js в файле .htacess анализировал .js, как это.

RewriteEngine on
AddHandler application/x-httpd-ea-php56 .php4 .php3 .php .phtml .htm .html .cgi .ics 
.js

Затем я добавил это в начало всехфайлы

header('Content-Type: text/javascript');

Теперь это работает.

Все попытки решить проблему с X-Content-Type-Options в файле .htacess завершились неудачей.

...