本內容是舊版,有點錯誤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
防盜鏈和防下載道理是同樣的,想訪問該資源(圖片,視頻)就會替換其餘的資源圖片