Java: Como ocultar recursos estáticos como HTML, imagens do usuário no JBoss Platfrom?
-
21-09-2019 - |
Pergunta
Eu desenvolvi um aplicativo Web Java 1.4.Application é implantado no JBoss (TOMCAT).
Suponha que minha estrutura de pasta seja
mainfolder(contains subfolders and jsp pages)
images(contains all of images files)
headerfiles(header files)
javascript(javascript files)
URL para a página de login do site é
mywebsite.com/mainfolder/login.jsp
Se os tipos de usuário completos URL para algum recurso estático
mywebsite.com/mainfolder/images/myimage.jpeg
Então ele pode ver a imagem neste URL.
Quero impedir que o usuário visualize esses recursos. O que devo fazer?
Existe uma maneira de fazer um padrão de nomes de arquivos que eu não quero que o usuário veja. Nesse caso, posso especificar o padrão *.ssi a se esconder.
Solução
Se essas imagens forem usadas em suas páginas, o usuário deverá poder baixá -las para vê -las.
Este é o HTTP básico. Se você deseja baixar um recurso, precisa ter acesso a ele.
Impedindo que seus usuários acessem mywebsite.com/mainfolder/images/myimage.jpeg
significará que você não poderá usar esta imagem em seu HTML ou CSS.
Se esses arquivos não estiverem disponíveis para o usuário, mas apenas o servidor, não os publique, mantendo-os em uma pasta não publicada.
Outras dicas
Qualquer coisa colocada sob o webapp's WEB-INF
O diretório não pode ser acessado diretamente pelo navegador.
Quero impedir que o usuário visualize esses recursos. O que devo fazer?
Honestamente, isso não faz sentido. Como o cliente seria capaz de obter os dados estáticos? Você pode colocar esses arquivos em /WEB-INF
(Uma pasta não publicada) para escondê-los do acesso direto, mas você nunca pode usá-los nas páginas JSP, simplesmente porque o cliente não consegue mais acessá-lo diretamente.
Eu acho que a maior maleptria aqui é que você não percebeu que todas as imagens, arquivo CSS, arquivo JS, etc, contam cada um como uma solicitação HTTP totalmente independente. Não é verdade que o site completo foi transportado por uma única solicitação HTTP.