什么是盗链?
盗链是指服务提供商自己不提供服务的内容,通过技术手段绕过其它有利益的最终用户界面(如广告),直接在自己的网站上向最终用户提供其它服务提供商的服务内容,骗取最终用户的浏览和点击率。受益者不提供资源或提供很少的资源,而真正的服务提供商却得不到任何的收益。
www.163.com为正规网站,www.361.com为盗链网站
如何防止盗链?
请求头中有一个Referer元素,如果正常通过www.163.com访问这个新闻时,则Referer为163,可以正常阅读新闻。如果后台发现Referer不为163,或者Referer为空,说明为盗链阅读,此时网页会直接跳到www.163.com的主页上。
HTML代码和跳转到对应新闻内容的Servlet代码:
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("我和华为奋斗的日子。。。");
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。