禁止直接访问.css文件

Sim*_*mon 1 css web.xml java-ee jboss5.x

我正在使用JBoss 5使用Java EE开发一个Web项目.我的WebContent文件夹有一个.css文件,由所有JSP使用(放在WebContent的其他子文件夹中).我想禁止直接访问.css文件,但仍然可以在我的JSP中使用它.我试过了

<security-constraint>
  <web-resource-collection>
    <web-resource-name>Direct access to .css forbidden</web-resource-name>
    <url-pattern>/Style.css</url-pattern>
  </web-resource-collection>
  <auth-constraint/>
</security-constraint>
Run Code Online (Sandbox Code Playgroud)

在web.xml描述符中,但这样JSP无法使用它.

有任何想法吗?

Pek*_*ica 5

任何试图隐藏最终用户在页面上使用的CSS都是毫无意义的.

您可以检查HTTP_REFERER标题,如果它与嵌入样式表的页面不匹配则不显示CSS.

但是,在DOM检查器中可以看到CSS,并且可以使用正确的引用集进行单击,现在的浏览器也不会有帮助.

浏览器需要查看CSS才能呈现它,因此没有任何保护措施可以提供帮助.您可以做的最好的事情(但它需要您更改HTML)会混淆CSS,因此不再有可读的元素名称(例如,.xweudhd而不是.top_navigation).

但我会放弃这个想法.有更多有效的方式来花一点时间.

  • 谢谢你的详尽答案.我只是想避免用户看到不必要的东西(比如.css),但是,正如我所看到的,它不值得. (2认同)