禁止下载文件(tomcat)

nnoo 2008-07-07 09:23:13
站点中有很多文件是mp3,这些文件会被baidu搜索到,然后就有很多人来下载,请问这个问题怎么解决?
网站用tomcat+jdk
...全文
383 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lixq2000 2008-07-08
  • 打赏
  • 举报
回复
学习!
nnoo 2008-07-08
  • 打赏
  • 举报
回复
有没有具体的方法啊???
jspxnet 2008-07-07
  • 打赏
  • 举报
回复
不要这么麻烦,你一般都是apache + tomcat 的方式,
mp3一般是给apache 来管理的。 你在apache 里边配置一下就可以了,网上有,搜索一下
就知道了。
zhj92lxs 2008-07-07
  • 打赏
  • 举报
回复
public class UserLoginFilter implements Filter {

public void destroy() {
// TODO Auto-generated method stub

}

public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
// TODO Auto-generated method stub
HttpServletRequest request = (HttpServletRequest) arg0;
HttpServletResponse response = (HttpServletResponse) arg1;
if(request.getSession().getAttribute("userid") != null){
arg2.doFilter(request, response);
}else{
request.getRequestDispatcher("../login.jsp").forward(request, response);
}
}

public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub

}

}


web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServer</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>



<filter>
<filter-name>userlogin</filter-name>
<filter-class>com.test.filter.UserLoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>userlogin</filter-name>
<url-pattern>/jsp/user/*</url-pattern><!--过滤jsp/user下的所以文件->
</filter-mapping>
<filter-mapping>
<filter-name>userlogin</filter-name>
<url-pattern>/jsp/question/*</url-pattern><!--过滤jsp/question下的所以文件->
</filter-mapping>

</web-app>
nnoo 2008-07-07
  • 打赏
  • 举报
回复
Filter类怎么写啊?有没有example?
cuilike 2008-07-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 java2000_net 的回复:]
没有直接的办法

你可以验证是否登录,只允许会员下载。 用Filter 进行控制比较简单些。
[/Quote]

写一个Filter的类。。然后在WEB.XML里配置下。。。过滤掉不想被未登陆用户访问的目录!
kokobox 2008-07-07
  • 打赏
  • 举报
回复
当自己调用的时候根据数据库数据使之还原
kokobox 2008-07-07
  • 打赏
  • 举报
回复
lz可以用spring把文件放到web-inf下

另一种方法,lz在数据库存储文件路径和文件扩展名,然后对于文件进行文件名加密使之无扩展名,或者对文件进行加密【不推荐对文件加密】

或者对文件上级目录进行命名使之带有[./\]【系统可能阻止】,使之进行伪路径



nnoo 2008-07-07
  • 打赏
  • 举报
回复
用Filter怎么控制?能讲具体点吗?
老紫竹 2008-07-07
  • 打赏
  • 举报
回复
没有直接的办法

你可以验证是否登录,只允许会员下载。 用Filter 进行控制比较简单些。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧