请教:新浪blog的防盗链图片问题

新手入门、经验交流

Moderator: cre

Forum rules
  • 软件自带帮助是最好的入门教程,请仔细阅读;在您掌握最基本知识前,我们没法帮助您
  • 提问前请先查阅软件帮助文件和论坛相关讨论
  • 查阅软件帮助和论坛相关讨论即可解决的问题帖将直接删除,以免浪费他人时间
  • 请学会如何提问,尽量将问题描述清楚,不明确的提问将被直接删除
Post Reply
不夜侯
Posts: 101
Joined: Jul 29 2009, 16:22

请教:新浪blog的防盗链图片问题

Post by 不夜侯 »

测试图片:
Image
我参考了这个帖子:请问一下 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)
都不能正常显示图片。
请指点,顺祝春节快乐!
User avatar
phoenix
Site Admin
Posts: 529
Joined: Dec 29 2007, 16:27

Re: 请教:新浪blog的防盗链图片问题

Post by phoenix »

引用一下我在那个帖子中的回答:
phoenix wrote:至于 sina ,你可以开着 log window 看看能正常显示图片时的 Referer 是什么。
不夜侯
Posts: 101
Joined: Jul 29 2009, 16:22

Re: 请教:新浪blog的防盗链图片问题

Post 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)
User avatar
phoenix
Site Admin
Posts: 529
Joined: Dec 29 2007, 16:27

Re: 请教:新浪blog的防盗链图片问题

Post by phoenix »

那么,你再看下,用了你的规则后的 Referer 是什么。
不夜侯
Posts: 101
Joined: Jul 29 2009, 16:22

Re: 请教:新浪blog的防盗链图片问题

Post 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)修改,直接添加:

Code: Select all

blog.sina.com.cn/
还是不行。
User avatar
phoenix
Site Admin
Posts: 529
Joined: Dec 29 2007, 16:27

Re: 请教:新浪blog的防盗链图片问题

Post 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 ,所以没有触发规则。
不夜侯
Posts: 101
Joined: Jul 29 2009, 16:22

Re: 请教:新浪blog的防盗链图片问题

Post by 不夜侯 »

终于明白了,解决问题。
还是顶楼规则。$LST(referer)里添加:

Code: Select all

$URL(http://static[0-9]+.photo.sina.com.cn/) $SET(1=http://blog.sina.com.cn/)
谢谢ph!
Post Reply