博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
filter防盗链
阅读量:6839 次
发布时间:2019-06-26

本文共 2209 字,大约阅读时间需要 7 分钟。

1这次练习中一直受到相对路径的干扰,现在澄清一点

forward中不是不需要包含根目录的  比如 http://localhost:8080/filter/upload/images/no.jpg

你只要写到 (/upload/images/no.jpg)就好

而在html中是需要根目录的

2根据referer判断是否自己网站发出的请求

String referer = req.getHeader("referer");        if (referer == null || !referer.contains(req.getServerName())) {

源码

package filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class MyFilter implements Filter {    @Override    public void destroy() {        // TODO Auto-generated method stub    }    @Override    public void doFilter(ServletRequest request, ServletResponse response,            FilterChain chain) throws IOException, ServletException {        // TODO Auto-generated method stub        HttpServletRequest req = (HttpServletRequest) request;// 注意上面是接口servletRequest/response        HttpServletResponse res = (HttpServletResponse) response;        String referer = req.getHeader("referer");        if (referer == null || !referer.contains(req.getServerName())) {            req.getRequestDispatcher("/d.jpg").forward(req, res);        } else {            chain.doFilter(request, response);        }    }    @Override    public void init(FilterConfig filterConfig) throws ServletException {        // TODO Auto-generated method stub    }}
View Code
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>              My JSP 'show.jsp' starting page        
<% %>

dsf

直接访问d 直接访问ok 直接访问no
View Code

模拟直接访问

 

转载于:https://www.cnblogs.com/vhyc/p/6479817.html

你可能感兴趣的文章
SQL Server T-SQL高级查询
查看>>
JSON在PHP中的应用
查看>>
判断是否联网
查看>>
私有化构造方法
查看>>
HDU 2802 找单词
查看>>
Wordpress XML-RPC协议说明
查看>>
开发者需知:优秀程序设计的18大原则
查看>>
半天打造小型万能OA办公系统, 靠的就是万能表单提交 + 轻量级工作流审批组件...
查看>>
Win7修改文件后缀名
查看>>
DIV外区域Click后关闭DIV
查看>>
后缀数组学习笔记——罗穗骞倍增算法代码
查看>>
Automating Capistrano Password Prompts with Expect
查看>>
用 HTML5 和 Javascript 仿制一个水果忍者网页版! (直接浏览器在线玩+源代码下载)...
查看>>
设计模式简介
查看>>
删除数组中某一匹配项
查看>>
Sharepoint学习笔记—error处理-- The user does not exist or is not unique.
查看>>
CSS占位隐藏(转)
查看>>
利用jsdoc-toolkit生成javascript文档
查看>>
javascript 判断浏览器客户端
查看>>
NSString 中包含中文字符时转换为NSURL
查看>>