- 浏览: 230288 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
thepastsee:
304572183股票交流 欢迎加入
实时股票 -
345161974:
很不错,我第一个接触的CSS卡片布局效果,多谢
css卡片效果
做个图片的防盗链
文章分类:Java编程
目的是,网站本身的图片不防盗链,用户上传的图片不许外链
用户上传的图片都在userfile目录和其子目录下面
1. 配置filter
Xml代码
- < filter >
- < filter-name > jpgServlet </ filter-name >
- < filter-class >
- com.djwl.core.filter.JpgFilter
- </ filter-class >
- </ filter >
- < filter-mapping >
- < filter-name > jpgServlet </ filter-name >
- < url-pattern > /userfile/* </ url-pattern >
- </ filter-mapping >
<filter> <filter-name>jpgServlet</filter-name> <filter-class> com.djwl.core.filter.JpgFilter </filter-class> </filter> <filter-mapping> <filter-name>jpgServlet</filter-name> <url-pattern>/userfile/*</url-pattern> </filter-mapping>
2. Filter
Java代码
- package com.djwl.core.filter;
- 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;
- /**
- * Description: <br>
- * 2010-4-13
- * @author huxiao kskr@qq.com
- */
- public class JpgFilter implements Filter {
- @Override
- public void doFilter(ServletRequest servletrequest, ServletResponse servletresponse, FilterChain filterchain) throws IOException, ServletException {
- HttpServletRequest request = (HttpServletRequest)servletrequest;
- HttpServletResponse response = (HttpServletResponse)servletresponse;
- //获取请求来源
- String linkFrom = request.getHeader("referer" );
- /**
- * 如果不是从本网站链接,则返回本网站的logo,否则正常走
- * 注意:这里的linkFrom为null的话也正常走。原因是,用户如果直接输入图片地址的话,linkFrom为null
- */
- if (linkFrom != null && !linkFrom.contains(request.getServerName())){
- System.out.println("盗链来自: " +linkFrom);
- request.getRequestDispatcher("/images/logo_red.jpg" ).forward(request, response);
- }else {
- filterchain.doFilter(request, response);
- }
- }
- @Override
- public void destroy() {
- // TODO Auto-generated method stub
- }
- @Override
- public void init(FilterConfig filterconfig) throws ServletException {
- // TODO Auto-generated method stub
- }
- }
package com.djwl.core.filter; 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; /** * Description: <br> * 2010-4-13 * @author huxiao kskr@qq.com */ public class JpgFilter implements Filter { @Override public void doFilter(ServletRequest servletrequest, ServletResponse servletresponse, FilterChain filterchain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest)servletrequest; HttpServletResponse response = (HttpServletResponse)servletresponse; //获取请求来源 String linkFrom = request.getHeader("referer"); /** * 如果不是从本网站链接,则返回本网站的logo,否则正常走 * 注意:这里的linkFrom为null的话也正常走。原因是,用户如果直接输入图片地址的话,linkFrom为null */ if(linkFrom != null && !linkFrom.contains(request.getServerName())){ System.out.println("盗链来自: "+linkFrom); request.getRequestDispatcher("/images/logo_red.jpg").forward(request, response); }else { filterchain.doFilter(request, response); } } @Override public void destroy() { // TODO Auto-generated method stub } @Override public void init(FilterConfig filterconfig) throws ServletException { // TODO Auto-generated method stub } }
3. 测试
图片所在的是localhost1:1111,现在我用localhost1和localhost2去请求,ok的话,前者能显示,后者显示logo
body部分:这里我放了两个图片,前面一个是/images目录下的,不做防盗链,后面的做防盗链
Html代码
- < img src = "http://localhost1:1111/images/bq_bgGreen.jpg" >
- < img src = "http://localhost1:1111/userfile/20100405/7ef5d05bacd840e8beb8147653ad2906_81_81.jpg" />
<img src="http://localhost1:1111/images/bq_bgGreen.jpg"> <img src="http://localhost1:1111/userfile/20100405/7ef5d05bacd840e8beb8147653ad2906_81_81.jpg" />
OK,这就达到咱们的目的了
发表评论
-
jdbc_连接池_转
2012-02-19 22:49 0http://z466459262.iteye.com/bl ... -
java_贪吃蛇——
2012-01-17 11:14 793ADADS -
java并发重构ppt_转温 少
2011-06-23 16:04 622ooooo -
GBK_UTF-8_转
2011-06-21 11:15 1516转 http://www.iteye.com/topi ... -
单例模式七种写法_转
2011-05-26 23:19 750kjljkl -
设计模式_code_转转转
2011-05-25 17:14 642kljlj -
java_字符串操作——插入、替换、删除_转
2011-03-18 18:38 1215字符串操作——插入、替换、删除 ... -
mysq 存储过程技术手册
2011-02-17 22:49 426jklkj -
mysql专家_分析pdf
2011-02-17 20:43 831dfasdfasdf -
成均科技_面试
2011-02-16 17:38 822成均科技: XmlHttpRequest 浏览器对 ... -
java 学习方向
2011-01-26 16:56 641http://newleague.iteye.com/ ... -
多线程背课__售票_转转转
2011-01-25 10:19 749票真难买呀,咋回个家就怎么难呢? 这几天学习了下线程, ... -
web 项目_ log4j__转转java3Z
2011-01-18 22:16 975在web应用中使用日志工具log4J ... -
汉字排序_java_转转
2011-01-15 17:09 870java中漢字按拼音排序 ... -
ecilpse_apanta_
2011-01-15 00:11 974<!-- [if gte mso 9]><x ... -
linux_virutalBox_固定ip_转转
2011-01-12 21:35 925Windows XP通过Sun VirtualBox ... -
存储过程_转转转 _ibatis
2011-01-04 21:14 1267作者:袁光东 我们在进行pl/sql编程时打交道最多的 ... -
J2EE项目异常处理_转
2011-01-04 21:08 665J2EE 项目异常处理 ... -
java 缩略图__转
2010-12-24 00:29 716//----------------------------- ... -
url_中文_竹林仙_转转转
2010-12-22 18:23 654//----------------------------- ...
相关推荐
HttpURLConnection+jsoup防盗链 {"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661...
利用httpHandler 实现RSS 图片防盗链接 图片验证码等功能
相信很多人,不管是私人也好,seo也好,站长也好,还是小推手也好,都会不时越到“防盗链图片”这个问题,有时候需要把整个网页文章拷贝进去,但是复制过去的图片,到自己的网站这边,刷新一下就没了~~~给自己活着给...
破解图片防盗链,有时连接不了网站的图片,因为对方有防盗链系统,写一个servlet代码
对于网站以图片为主的,图片防盗链就显的非常重要了,非本站的访问都应该拒绝图片的显示,要不你的图片就很有容易被别人盗取
最新,C# MVC HttpModule 防盗链和图片304缓存。网上有很多文章,比较坑多没实际代码,我再这里小试牛刀。也绕了一些坑,这里可以快速绕过。
通过Java爬虫,爬取网站内容(图片以及信息)并记录,在需要的时候可以下载,并且突破网站的防盗链
图片防盗链.java图片防盗链.java图片防盗链.java
是PHP破解防盗链的代码的源码,解决采集图片盗链不显示的方法,很简单,特别实用。
网站防盗链: IIS7.5配置防盗链 IIS7.0配置防盗链
iis 防盗链 音乐网站防盗链 图片防盗链
图片防盗链示例,非常简单明了的告诉你该怎么做。
为了实现图片防盗链,根据网络上搜集的资料加上自己的实践,终于实现了iis下的图片防盗链功能。 实施步骤: 1.下载比较出名的www.helicontech.com提供的ISAPI Rewrite软件的免费版本(免费版本虽然有一些功能上...
主要介绍了 java 防盗链详解及解决办法的相关资料,这里介绍了防盗链的概念、产生原因及Http中的referer,最后介绍解决办法,需要的朋友可以参考下
可以破解任何网站的图片防盗链,极简的代码,使用时只需将图片地址改成http://你的网址/i.asp?url=图片原地址,即可调用任何网站的图片。
asp.net中利用ashx实现图片防盗链
FileTransferServer:解决防盗链图片使用问题的中转服务器。为项目 ImageKeeper 备用的 web 服务器。
ASP.NET实现图片防盗链功能 很好的资源
无视图片防盗链php单文件
ASP.NET C# 实现防盗链