Page 1 of 1
请教:新浪blog的防盗链图片问题
Posted: Jan 29 2011, 12:46
by 不夜侯
测试图片:
我参考了这个帖子:
请问一下 Referer 的问题
规则如下:
Code: Select all
[HTTP headers]
In = FALSE
Out = TRUE
Key = "Referer: Hide where we've been (Out)"
Match = "$LST(referer)"
Replace = "\1"
$LST(referer)里添加:
Code: Select all
$URL(http://static[0-9]+.photo.sina.com.cn/(orignal|(b|)middle)/[a-z0-9]+) $SET(1=\u)
或者:
Code: Select all
$URL(http://static[0-9]+.photo.sina.com.cn/) $SET(1=\u)
都不能正常显示图片。
请指点,顺祝春节快乐!
Re: 请教:新浪blog的防盗链图片问题
Posted: Jan 30 2011, 15:04
by phoenix
引用一下我在那个帖子中的回答:
phoenix wrote:至于 sina ,你可以开着 log window 看看能正常显示图片时的 Referer 是什么。
Re: 请教:新浪blog的防盗链图片问题
Posted: Jan 30 2011, 16:37
by 不夜侯
Code: Select all
+++GET 710+++
GET /blog/http/blog.sina.com.cn/s/U3370P346T8D172790F4336DT20110130103121.jpg HTTP/1.0
User-Agent: Opera/9.80 (Windows NT 6.1; U; zh-cn) Presto/2.2.15 Version/10.10
Host: i1.sinaimg.cn
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: gzip, deflate
Referer: http://blog.sina.com.cn/
If-Modified-Since: Sun, 30 Jan 2011 02:31:21 GMT
Connection: keep-alive
添加以下仍然无效啊。
Code: Select all
$URL(http://blog.sina.com.cn/) $SET(1=\u)
Re: 请教:新浪blog的防盗链图片问题
Posted: Jan 30 2011, 16:48
by phoenix
那么,你再看下,用了你的规则后的 Referer 是什么。
Re: 请教:新浪blog的防盗链图片问题
Posted: Jan 30 2011, 17:13
by 不夜侯
Code: Select all
+++GET 655+++
GET /middle/4c72ba79h9755d155f387&690 HTTP/1.0
User-Agent: Opera/9.80 (Windows NT 6.1; U; zh-cn) Presto/2.7.62 Version/11.01
Host: static8.photo.sina.com.cn
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: gzip, deflate
Referer: http://forum.proxcn.info/viewtopic.php?f=2&t=375
Pragma: no-cache
Cache-Control: no-cache
Connection: keep-alive
Referer没有伪造成功。不知道哪儿出错?
我将规则改成以下:
Code: Select all
[HTTP headers]
In = FALSE
Out = TRUE
Key = "Referer: Hide where we've been (Out)"
URL = "$LST(referer)"
Match = "*"
Replace = "\u"
将$LST(referer)修改,直接添加:
还是不行。
Re: 请教:新浪blog的防盗链图片问题
Posted: Jan 30 2011, 18:52
by phoenix
你提供的 log 显示,图片的 host 是 static8.photo.sina.com.cn ,能正常显示的 Referer 是 http://blog.sina.com.cn/ 。
就顶楼的规则来说:
你一开始 $SET(1=\u) ,将 Referer 设为图片当前地址,与正常 Referer 不同,所以图片不能显示。
后来你改为 $URL(http://blog.sina.com.cn/) $SET(1=\u) ,是表示要访问 http://blog.sina.com.cn/ 时替换 Referer ,而图片地址是 static8.photo.sina.com.cn ,所以没有触发规则。
Re: 请教:新浪blog的防盗链图片问题
Posted: Jan 30 2011, 20:52
by 不夜侯
终于明白了,解决问题。
还是顶楼规则。$LST(referer)里添加:
Code: Select all
$URL(http://static[0-9]+.photo.sina.com.cn/) $SET(1=http://blog.sina.com.cn/)
谢谢ph!