简单的防盗链技术(过滤器原理)

public class ImgFilter implements Filter {

public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("过滤器初始化...");
}

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
System.out.println("doFilter...");

HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
String referer = req.getHeader("referer");
// 请求服务名称 
String serverName = req.getServerName();
System.out.println("referer:" + referer + ",serverName:" + serverName);
if (referer == null || !(referer.contains(serverName))) {
//
req.getRequestDispatcher("error.png").forward(req, res);
return ;
}

//放行
chain.doFilter(req, res);
}

public void destroy() {

}

}

简单的防盗图片过滤器代码

原文地址:https://www.cnblogs.com/liclBlog/p/9419865.html

时间: 2024-10-17 18:32:58

简单的防盗链技术(过滤器原理)的相关文章

php防盗链技术

在Http协议中,头信息里,有一个重要的选项: Referer Referer: 代表网页的来源,即上一页的地址 如果是直接在浏览器上输入地址,回来进来,则没有Referer头. 这也是: 为什么服务器知道我们的图片是从哪儿引用的,也知道我们的客户从哪个网站链接点击过来的. 问题: 如何配置apache服务器,用于图片防盗链? 原理: 在web服务器层面,根据http协议的referer头信息,来判断. 如果来自站外,则统一重写到一个很小的防盗链提醒图片上去. 具体步骤: 1:打开apache 

php笔记05:http协议中防盗链技术

倘若我们自己在电脑上写了一个网站文件(可以是html,php文件等等),但是只希望本机可以访问这个文件,不希望别的电脑访问就需要这里的防盗链技术 1.我们在本地写了一个import.php文件: 而且这里import.php文件的内容是如下: <?php //没有防止 //获取REFERER if(isset($_SERVER['HTTP_REFERER'])){ //取出来 //判断 $_SERVER['HTTP_REFERER']是不是以http://localhost/http开始,这里涉

http请求详解,防盗链技术_韩顺平PHP视频听课笔记

韩顺平PHP视频听课笔记 第84讲 http请求详解,防盗链技术 1,  通过httpwatch插件来抓取http请求内容 2,  http1.0短连接, http1.1长连接 http1.0短连接:每次通信时间很短,效率极低,已被废除. http1.1长连接:通话时间长.只要现在基本都采用http1.1. 只要Connection的状态为keep-alive,就说明是通话状态 3,  http是tcp/ip协议的一个应用层协议,http也是我们web开发的基础. 4,  一个问题:看一个tes

防盗链技术终极解决方案(squid+cookie)

防盗链技术现状:1.通过识别Referer确认请求来源页面2.Apache,squid等都能对Referer进行识别3.通过ActiveX显示的内容不向服务器提供Referer Header(例如,Flash,WindowsMedia视频等)4.流媒体的RTSP协议也不向服务器提供Referer Header5.通过服务器端程序代码实现防盗链应用现状:1.对图片.HTML等可以实现防盗链2.无法对Flash,WindowsMedia视频(MMS,RTSP)实现防盗链3.服务器端程序代码实现的防盗

[php]referer应用--http防盗链技术

1.防盗链的理解 所谓防盗链是防止其他的网站引用自己网站的资源连接,比如图片.视频等等,但是并不会阻碍从自己网站上享受资源的用户,这就要求能够将其他网站的连接请求阻止 2.防盗链的原理 其实从自己网站使用资源的时候不是由浏览器直接请求资源的,肯定是通过在自己网站上点击,然后从这个页面跳转到资源,无论怎么样,用户是通过自己的网站页面作为中介来访问资源,就类似通过类中定义的方法来访问受保护的变量一样,因此在发向服务器的http请求中就有一个字段为referer用来表明来源于何处,假如是从自己网站发出

用Nginx给网站做一个简单的防盗链

目录结构 Nginx防盗链配置 有些时候,大家不想让别人调用自己的图片,一是因为个人版权的问题,再一点就是会增加服务器的负载.还会产生一些没必要的流量. 其实在Nginx里面,很容易就做到防盗链的,在nginx.conf文件加入一个localtion配置项. 下面请看配置: location ~ .*\.(jpg|jpeg|JPG|png|gif|icon)$ { valid_referers blocked www.qixing318.com qixing318.com; if ($inval

MiddleWare中间键实现 简单的防盗链 AOP

看了Elevent老师的视频,把方法记一下 public class RefuseStealingMiddleWare { private readonly RequestDelegate next; public RefuseStealingMiddleWare(RequestDelegate next) { this.next = next; } public async Task Invoke(HttpContext context) { string url = context.Requ

php破解防盗链技术

发送http请求 构造referer信息 在Http协议中,头信息里,有一个重要的选项: Referer Referer: 代表网页的来源,即上一页的地址 具体方法http.class.php // http请求类的接口 interface Proto { // 连接url function conn($url); //发送get查询 function get(); // 发送post查询 function post(); // 关闭连接 function close(); } class Ht

谈谈网站的防盗链(Filter过滤器)

导语:明明引用了一个正确的图片地址,但显示出来的却是一个红叉或写有“此图片仅限于***网站用户交流沟通使用”之类的“假图片”(下图便是网易博客的防盗链效果).用嗅探软件找到了多媒体资源的真实地址用下载软件仍然不能下载.下载一些资源时总是出错,如果确认地址没错的话,大多数情况都是遇上防盗链系统了.常见的防盗链系统,一般使用在图片.音视频.软件等相关的资源上. 一.什么是防盗链系统:         在确保地址正确的情况下,不能下载相应的资源,均是受到防盗链系统的影响,那么究竟什么是防盗链系统呢?防