如何在websphere 8.5中禁用目录浏览?

时间:2017-06-16 08:54:25

标签: websphere websphere-8

我需要知道当用户尝试访问资源文件夹而不是文件本身(例如通过在webshere 8.5上键入http://domain/appname/resources/js)时,如何禁用从浏览器检索js / css文件列表的能力。

根据IBM Knowledge Center文档Web ContainerdirectoryBrowsingEnabled的默认值为false,这表明我无需在<enable-directory-browsing value="false"/>上定义:ibm-web-ext.xml第一名。

在我的案例中,WebSphere使用content:

生成ibm-web-ext.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-ext xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://websphere.ibm.com/xml/ns/javaee"
    xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-web-ext_1_0.xsd" version="1.0">
    <jsp-attribute name="reloadEnabled" value="true"/>
    <jsp-attribute name="reloadInterval" value="5"/>
</web-ext>

如果我修改并用内容替换ibm-web-ext.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-ext xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://websphere.ibm.com/xml/ns/javaee"
    xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-web-ext_1_0.xsd" version="1.0">
    <jsp-attribute name="reloadEnabled" value="true"/>
    <jsp-attribute name="reloadInterval" value="5"/>
    <enable-directory-browsing value="false"/>
</web-ext>

应用程序重启后似乎没有任何改变。

为什么即使directoryBrowsingEnabled标志设置为false,也可以从浏览器访问CSS / JS资源文件列表?仅仅directoryBrowsingEnabled似乎还不够。我错过了什么?

3 个答案:

答案 0 :(得分:0)

如果要在Web应用程序级别禁用静态文件浏览,请设置&#34; fileServingEnabled&#34;属性为FALSE以及ibm-web-ext.xml文件。

fileServingEnabled="false"

如果要全局禁用它(应用程序服务器中的所有应用程序),请使用com.ibm.ws.webcontainer.disallowAllFileServing自定义属性

答案 1 :(得分:0)

简短回答:默认情况下,WAS的目录浏览已被禁用。

请注意,当用户可以通过向上/向下单击文件夹来浏览目录时,“目录浏览”意味着是FTP样式目录浏览。

我的案例浏览器通过在用户点击http://domain/appname/resources/js时将文件夹下载为纯文本文件来响应200个代码。所以以前没有提到“FTP”风格的浏览案例。

除了其他静态资源配置外,还有spring mvc资源标记。

<mvc:resources mapping="/**" location="/resources/" />

我认为单独使用标签不是导致此问题的原因。但是,通过删除它的资源目录URL不再导致200状态代码。

答案 2 :(得分:0)

顺便删除

应用程序也无法检索某些资源进行显示。