我需要知道当用户尝试访问Webshere8.5上的资源文件夹而不是文件本身(例如,通过键入http://domain/appname/resources/js)时,我如何禁用从浏览器检索js/css文件列表的功能。
根据IBM Knowledge文档,directoryBrowsingEnabled的Web Container缺省值是false,这表明我不需要首先在ibm-web-ext.xml上定义:<enable-directory-browsing value="false"/>。
在我的例子中,WebSphere生成带有内容的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修改并替换为content:
<?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是不够的。我错过了什么?
发布于 2017-08-15 19:44:12
简而言之:默认情况下,WAS的目录浏览已被禁用。
请注意,“目录浏览”意味着当用户可以通过向上/向下单击文件夹来浏览目录时,是FTP样式的目录浏览。
我的案例浏览器响应200个代码,当用户点击http://domain/appname/resources/js时,以纯文本文件的形式下载文件夹。所以之前没有提到过'FTP‘风格的浏览情况。
与其他静态资源配置一起,还有spring mvc资源标签。
<mvc:resources mapping="/**" location="/resources/" />我不认为标签本身就是这个问题的原因。但是,通过删除它,资源目录URL不再导致200状态代码。
发布于 2017-06-20 09:51:12
如果您想在web应用程序级别禁用静态文件浏览,那么在ibm-web-ext.xml文件中也将"fileServingEnabled“属性设置为FALSE。
fileServingEnabled="false"如果要全局禁用它(应用服务器中的所有应用程序),请使用com.ibm.ws.webcontainer.disallowAllFileServing自定义属性
发布于 2021-07-02 13:21:36
顺便说一句,
应用程序也无法检索某些资源以进行显示。
https://stackoverflow.com/questions/44584933
复制相似问题