Я размещаю приложение, в котором есть компонент отчетности на основе Crystal Reports, и у меня нет возможности изменять приложение или его настройки.
Отчеты обычно отображаются в формате HTML, но пользователь также имеет возможность загрузить источник отчета в виде файла RPT, и это та часть, которую мне нужно предотвратить.
Приложение работает на IIS 7.5, и я могу предотвратить обслуживание файлов RPT с помощью фильтрации запросов IIS. Я тестировал, и когда файл .RPT запрашивается напрямую, сервер возвращает ошибку 404, и это нормально.
Однако приложение обслуживает файл RPT в качестве вложения, и именно здесь фильтрация запросов IIS не работает по непонятной мне причине.
Это часть ответа Entity, которую мне нужно заблокировать:
Content-disposition: attachment; filename=CrystalReportViewer1.rpt
Content-Type: application/x-rpt
Есть ли способ заставить сервер возвращать ошибку 404, если в ответе Content-disposition и Content-Type установлены указанные выше значения?