java: как скрыть статические ресурсы, такие как html, изображения от пользователя на jboss platfrom?

StackOverflow https://stackoverflow.com/questions/1768819

Вопрос

Я разработал веб-приложение Java 1.4.Приложение развернуто на jboss (tomcat).

предположим, что моя структура папок такова

   mainfolder(contains subfolders and jsp pages)
        images(contains all of images files)
        headerfiles(header files)
        javascript(javascript files)

URL-адрес страницы входа на веб-сайт - это

     mywebsite.com/mainfolder/login.jsp

если пользователь вводит полный URL-адрес для некоторого статического ресурса

     mywebsite.com/mainfolder/images/myimage.jpeg

затем он может просмотреть изображение по этому URL.

Я хочу запретить пользователю просматривать эти ресурсы.Что мне делать?

есть ли какой-нибудь способ указать шаблон имен файлов, который я не хочу, чтобы пользователь видел.В этом случае я могу указать шаблон *.ssi для скрытия.

Это было полезно?

Решение

Если эти изображения используются на ваших страницах, пользователь должен иметь возможность загрузить их, чтобы увидеть.

Это базовый HTTP.Если вы хотите загрузить ресурс, вам необходимо иметь к нему доступ.

Предотвращение доступа ваших пользователей к mywebsite.com/mainfolder/images/myimage.jpeg это будет означать, что вы НЕ сможете использовать это изображение в вашем HTML или CSS.

Если эти файлы должны быть доступны не пользователю, а только серверу, не публикуйте их, сохранив в папке, не подлежащей публикации.

Другие советы

Что-нибудь, помещенное под веб-приложение WEB-INF браузер не может получить прямой доступ к каталогу.

Я хочу запретить пользователю просматривать эти ресурсы.Что мне следует делать?

Честно говоря, в этом нет ни малейшего смысла.Как клиент вообще сможет получить статические данные?Вы можете поместить эти файлы в /WEB-INF (неопубликованная папка), чтобы скрыть их от прямого доступа, но вы никогда не сможете использовать их на своих страницах JSP, просто потому, что клиент больше не может напрямую обращаться к ним.

Я думаю, что самое большое заблуждение здесь заключается в том, что вы не понимали, что каждое изображение, CSS-файл, JS-файл и т.д. Считаются полностью независимыми HTTP-запросами.Это неправда, что весь веб-сайт был вызван одним HTTP-запросом.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top