Chrome и Firefox не позволяют загружать динамически создаваемый zip-файл, говоря, что это необычная загрузка и может быть вредной - PullRequest
1 голос
/ 10 июля 2019

Google Chrome и Mozilla Firefox классифицируют мой zip-файл как потенциально опасный.

Это то, что пользователи видят при загрузке zip-файла

Я написал немного кода (PHP, Codeigniter), который динамически создает zip-файл и позволяет пользователю загрузить его немедленно. Это спокойствие кода доступно только после входа пользователя. На localhost все работает нормально, но на производственных Google Chrome и Mozilla firefox классифицируют zip-файл как потенциально опасный.

Продукция HTTPS зашифрована с помощью сертификата, подтвержденного доменом RapidSSL.

Я провел небольшое исследование и обнаружил:

  • Поскольку zip - это двоичный файл, а сам веб-сайт недостаточно известен, загрузка обычно классифицируется как ненадежная.
  • Если бы это был статический файл, доступный через общедоступный URL-адрес, Google рано или поздно проверил бы его, а затем классифицировал бы его как безопасный. Поскольку это динамически создаваемые ZIP-файлы, доступ к которым возможен только в области входа в систему, эта опция больше недоступна.
  • Возможно, SSL-сертификат недостаточно безопасен, потому что он проверен только на домене. Прежде чем купить здесь более дорогой, я хотел бы узнать ваше мнение об этом возможном решении. Гарантирует ли лучший сертификат, что Zip-файлы считаются безопасными?
  • У меня нет программного обеспечения в консоли поиска Google. Может ли это что-нибудь сделать?
  • Во время моего исследования я наткнулся на заголовок http «Политика безопасности контента». Будет ли установка этого заголовка решением проблемы?

Я попробовал как zip-библиотеку codeigniter, так и PHP ZipArchive. Оба решения имели одну и ту же проблему. Заголовки, которые я установил для загрузки после создания zip-файла с помощью PHP ZipArchive, следующие:

//Set the Content-Type, Content-Disposition and Content-Length headers.
header("Content-Type: application/zip");
header("Content-Disposition: attachment; filename=$zip_name");
header("Content-Length: " . filesize($zip_path_and_filename));

//Read the file data and exit the script.
readfile($zip_path_and_filename);
exit;

Я ожидал, что zip-файл будет загружен без классификации как потенциально опасного. На самом деле Microsoft Edge ни на что не жалуется.

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