我想知道如何阻止访问我的网络应用程序中的静态内容文件夹。右边的文件夹位于 war 中的 web-root 文件夹内。像这样:
myapp/ -css/ -js/ -swf/ : WEB-INF/
我希望内容仅在用户处于 session 中时从应用程序中可见。如果有人在他/她的 session 之外(过期后)点击该 URL,则应阻止该内容。
它是一个带有 spring 的 groovy-grails 应用程序,我们正在使用 tomcat 服务器。
最佳答案
- 通常情况下,/WEB-INF下的文件无法从外部直接访问。最好将此类文件保存在 /WEB-INF 下。
使用网络安全约束进行保护。以下是限制文件夹的示例:
<security-constraint> <web-resource-collection> <web-resource-name >precluded methods</web-resource-name> <url-pattern >/css/*</url-pattern> <url-pattern >/js/*</url-pattern> <url-pattern >/swf/*</url-pattern> </web-resource-collection> <auth-constraint/> </security-constraint>
大多数应用服务器都支持对外界屏蔽文件或目录。请检查他们的文档。
关于servlets - 阻止访问静态内容文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8115132/