Как защититься от создания вкладок браузера при доставке PDF-файла?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как защититься от создания вкладок браузера при доставке PDF-файла?

Сообщение Anonymous »

У меня есть веб-сайт, на котором после входа в систему люди могут загрузить персонализированные PDF-документы. Существует конкретная проблема. Я пока не нашел решения или обсуждения на StackOverflow.
Сначала я доставляю документы с помощью этой функции (предварительные заголовки отправляются):

Код: Выделить всё

function _outputContent(&$fileEntry) {
// return $fileEntry content (decrypted PDF file)!
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
header("Accept-Ranges: bytes");
header("Pragma: public");
header('Expires: 0');
header("Content-Description: File Transfer");
header("Content-Type: application/pdf");
header("Content-Disposition: attachment; filename=\"".$fileEntry["name"]."\"");
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . strlen($fileEntry["decrypted"]));

echo $fileEntry["decrypted"];
}
Дело в том, что в основном на мобильных устройствах, в зависимости от веб-браузера, предпочтений и настроек, это открывает новую вкладку в веб-браузере конечного пользователя, если веб-браузер напрямую отображает PDF-файл
сильный>. Если позже пользователь закроет веб-браузер и откроет его через несколько часов, некоторые веб-браузеры попытаются восстановить все предыдущие открытые вкладки и вызовут недействительные запросы на загрузку
для этих вкладок. Наибольшее количество запросов составило 56 запросов за три секунды с одного устройства. К сожалению, это запускает mod_evasive и другой инструмент безопасности, который мы реализовали против атак DOS.
Есть ли способ доставить PDF-файл так, чтобы URL-адрес загрузки не оставался на новой созданной вкладке ?
Я пробовал другие значения Content-Type, такие как application/octet-stream, но это вызывает проблемы у конечных пользователей, которые хотят, чтобы PDF-файл открывался. напрямую. Некоторые, похоже, не могут позже открыть загруженный файл. Так что хорошо, что PDF отображается сразу. Или я могу вообще запретить веб-браузеру создавать новую вкладку?

Подробнее здесь: https://stackoverflow.com/questions/787 ... a-pdf-file
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»