日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

防盗链过滤器

發(fā)布時(shí)間:2025/3/20 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 防盗链过滤器 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

使用過(guò)濾器,防止通過(guò)其他URL地址直接訪問(wèn)本站資源
應(yīng)用request對(duì)象的getHeader()方法獲得信息頭來(lái)源地址,若是來(lái)自其他網(wǎng)站就彈出錯(cuò)誤圖片

public String getHeader(String headerName) headerName:指定字符串類型的響應(yīng)頭名稱

創(chuàng)建Filter過(guò)濾器的實(shí)現(xiàn)類ImageFilter,在doFilter()方法中對(duì)request進(jìn)行驗(yàn)證,將圖片顯示在頁(yè)面之前,驗(yàn)證客戶端是否來(lái)自本網(wǎng)站

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 ImageFilter implements Filter {@Overridepublic void destroy() {// TODO Auto-generated method stub}@Overridepublic void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)throws IOException, ServletException {HttpServletRequest request=(HttpServletRequest)req; //request對(duì)象HttpServletResponse response=(HttpServletResponse)res; //response對(duì)象String imurl=request.getHeader("imurl"); //鏈接的來(lái)源地址if(imurl==null||!imurl.contains(request.getServerName())){ //判斷訪問(wèn)來(lái)源request.getRequestDispatcher("/errorimage.gif").forward(request, response); //顯示錯(cuò)誤圖片}else{chain.doFilter(request, response); //顯示正確圖片}}@Overridepublic void init(FilterConfig arg0) throws ServletException {} }

web.xml中配置Filter,該過(guò)濾器從request信息頭中獲取請(qǐng)求來(lái)源

<welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><filter><filter-name>imageFilter</filter-name><filter-class>com.cn.zj.ServletFilter.ImageFilter</filter-class></filter><filter-mapping><filter-name>imageFilter</filter-name><url-pattern>/images/*</url-pattern></filter-mapping>

Myfilter.jsp頁(yè)面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><base href="<%=basePath%>"><title>防盜鏈過(guò)濾器</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body><form action="" method="post" name="form1"><table background="pg.jpg" width="400" height="234" align="center"><Tr><Td>&nbsp;</Td></Tr></table><table align="center">來(lái)自本站地址訪問(wèn)圖片<%request.getHeader("imurl"); %></table></form></body> </html>

總結(jié)

以上是生活随笔為你收集整理的防盗链过滤器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。