我在Spring网络应用程序中有经典情况,其中webapp文件夹包含带有JS或CSS文件的resources文件夹。
通常,我已经看到要映射对这些文件的访问权限,我们必须放置此标记
<mvc:resources mapping="/resources/**" location="/resources/" />
在spring web-app配置xml中。 我想知道是否有一些&#34;对比&#34;或者让我避免使用以下内容进行映射的风险:
<mvc:resources mapping="/**" location="/resources/" />
这样资源内的每一个资源都可以使用#34;从&#34; /&#34;
开始映射因此,例如我将使用
导入js文件<script type="text/javascript" src="/js/myfile.js">
而不是
<script type="text/javascript" src="/resources/js/myfile.js">
此时此刻,我看到的唯一后果是&#34;资源&#34;以外的其他资源。文件夹未被映射。但我问我是否还有安全理由。
答案 0 :(得分:0)
这将映射资源处理程序的每个路径。我不确定是否存在任何安全风险,因为每个路径仍然只会查看资源文件夹。据推测资源文件夹内容不是敏感信息。但是你指出它并不灵活。
我相信@RequestMapping
优先于资源映射,所以你应该没问题。
但是我建议不要这样做,因为你可以通过这种方式获得完全相同的行为,以免将来导致静态内容出现问题:
<mvc:resources mapping="/js/**" location="/resources/js/" />