什么是盗链?html
盗链是指服务提供商本身不提供服务的内容,经过技术手段绕过其它有利益的最终用户界面(如广告),直接在本身的网站上向最终用户提供其它服务提供商的服务内容,骗取最终用户的浏览和点击率。受益者不提供资源或提供不多的资源,而真正的服务提供商却得不到任何的收益。
www.163.com为正规网站,www.361.com为盗链网站网站
如何防止盗链?
请求头中有一个Referer元素,若是正常经过www.163.com访问这个新闻时,则Referer为163,能够正常阅读新闻。若是后台发现Referer不为163,或者Referer为空,说明为盗链阅读,此时网页会直接跳到www.163.com的主页上。ui
HTML代码和跳转到对应新闻内容的Servlet代码:spa
163主页: <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body> <h1>网易新闻</h1><hr> 广告广告广告广告广告广告广告广告 <a href="/Day04/servlet/RenzhengfeiServlet">任正非独家采访</a> 广告广告广告广告广告广告广告广告 </body> </html> RenzhengfeiServlet: public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); String ref = request.getHeader("Referer"); //若是referer为空或不为163,则重定向回163的主页 if(ref==null || "".equals(ref) || !ref.startsWith("http://www.163.com")){ response.sendRedirect(request.getContextPath()+"/index.html"); return; } response.getWriter().write("我和华为奋斗的日子。。。"); }