Безопасно ли размещать изображение в Интернете без расширения? - PullRequest
17 голосов
/ 12 августа 2010

Я рассматриваю все * .jpg файлы как статические, но мне нужно обслуживать несколько динамически. Могу ли я просто опустить расширение, чтобы мне не пришлось увлекаться правилами URL? Достаточно ли просто указать тип файла в шапке?

Ответы [ 2 ]

10 голосов
/ 12 августа 2010

У меня никогда не было проблем с обслуживанием динамических изображений со странным расширением или вообще без него. Querystrings также хорошо.

Достаточно, чтобы заголовки были правильными и бинарный файл был правильно сформирован. Когда вы сделаете это, убедитесь, что вы также установили для Content-Disposition разумное имя файла, чтобы люди не пытались загружать ваши файлы с ненормальными именами строк запросов. (Какие пользователи Windows не смогут сохранить, так как они, скорее всего, будут иметь «?» В них.)

3 голосов
/ 12 августа 2010

Вместо того, чтобы пропускать расширение (на вашем сервере), активируйте согласование содержимого (т. Е. +MultiViews, если вы используете Apache) и пропустите расширения в ваших URI.Таким образом, Apache решит, какой файл обслуживать;Вы можете иметь изображение в формате png и svg и обслуживать изображение, принятое браузером.

Как правило, правильного заголовка Content-type достаточно.

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