Я читал об атаках на сайты с возможностью загрузки и скачивания файлов. Некоторые атаки были связаны с загрузкой jpg, который на самом деле является html-файлом, и комментарием о том, что если вы хотите, чтобы пользователям было разрешено сохранять html и загружать их (или, возможно, просматривать их в браузере без использования функции сохранения как).
Есть ли какой-то тип флага, который я могу использовать, чтобы сказать, что не выполнять? Я хочу, чтобы пользователи могли просматривать изображения или видеофайлы, загруженные другими. Что делать, если я хочу, чтобы отображался пользовательский HTML-код, но я не хочу заставлять пользователей загружать его (вложение с расположением содержимого).
Есть ли способ, которым я могу сказать: «Привет, вот некоторые пользовательские данные». Это может быть изображение, поэтому я должен разрешить работу img src. Это может быть html, поэтому я хотел бы, чтобы пользователи его видели, но не позволяли ему читать/записывать файлы cookie/localstorage/вызывать запрос ajax/и т. д.?
-edit- Подумай об этом. Все мои пользовательские данные размещены на собственном поддомене без файлов cookie для статических файлов. Это избавит от многих проблем, о которых я упоминал, но что еще остается? Также я считаю, что мой ответ пантомимы полностью зависит от того, что делает мой веб-сервер (nginx atm), который может просто смотреть на расширение файла.
-edit2- Я изменил конфигурацию nginx, чтобы добавить application/unknown
Content-Type. Кажется, он делает именно то, что я хочу. Я видел предложение использовать поток октетов для неизвестных файлов, но это заставляет браузеры (по крайней мере, Firefox) пытаться загрузить его, даже если это jpg, который можно просматривать в браузере.