使用Referer實現防盜鏈防下載

本內容是舊版,有點錯誤app

新版本請跳 http://www.javashuo.com/article/p-svxfhcfx-dg.html 或者進入本博客查找網站

 

使用File來實現url

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
		// TODO Auto-generated method stub
		HttpServletRequest req = (HttpServletRequest) request;
		HttpServletResponse res = (HttpServletResponse) response;
		//獲取連接
		String referer=req.getHeader("referer");
		//獲取本電腦ip地址
		String serverName=req.getServerName();
		if(referer==null||!referer.contains(serverName)||referer.contains("mp4")){
			req.getRequestDispatcher("/images/timg.jpg").forward(req, res);
			return;
		}
		chain.doFilter(req, res);
		
		
	}
<filter>
 	<filter-name>RefererFilter</filter-name>
 	<filter-class>com.enet.fileter.RefererFilter</filter-class>
 </filter>
 <filter-mapping>
 	<filter-name>RefererFilter</filter-name>
 	<url-pattern>/mp4/*</url-pattern>
 </filter-mapping>

 

如上代碼就實現了防盜鏈防下載功能,spa

防盜鏈指的是在網站上沒法經過資源的連接直接訪問到.net

防下載指的是在下載軟件中沒法用過資源的連接下載到對應的資源code

防盜鏈和防下載最主要的區別:referer獲取到的值視頻

防盜鏈中referer獲取到的值是本網站的連接地址server

防下載中referer獲取到的值是本資源的地址blog

 

防盜鏈和防下載道理是同樣的,想訪問該資源(圖片,視頻)就會替換其餘的資源圖片

相關文章
相關標籤/搜索