喜悦国际村 » PHP高级编程 » 关于防盗链

页: [1] 2 3
darx2006-3-23 02:59 PM
关于防盗链

假如服务器上有这样一个[url]http://www.www.com/a.rar[/url]的文件是要提供给用户下载的
但是又要防止盗链
我的做法是

在php文件中实现
先判断session,如果session是对的
用php来读这个文件,然后header发出去
如果是错的,就说明他不是来自本站, 跳转到注册的地方
等注册后,再给他下载

这样虽然可以防一下, 但是对php的负担却很大

有其他的办法解决吗?

不是虚拟主机, 有服务器的完全控制权限

langyufeng2006-3-23 06:06 PM
我也是这么做的...
这样做还要看文件的大小,如果文件小倒是没什么关系的

一般的方法:referer判断,用户登陆即session判断,还有验证码判断,其实都是可以破的
通常的办法都是防不了的,如果大家有好的方法,请指教

风在芯中2006-3-24 01:40 AM
linux下的LINK可以解决

LuckLrj2006-3-24 09:22 AM
楼上的你那办法早不行了。

只要定时跟踪你的url就行了。

风在芯中2006-3-24 02:31 PM
解决方案是人想出来的,方案是看具体应用的...

不提供下载最简单

zdhcn2006-3-25 07:56 AM
我的图片站“[url]http://gallery.10jqka.com.cn/[/url]”上面的图片是防止盗链的。
你转贴到其他网站上,你自己能看到,别人看到的都是一张提示盗链图片,是不是满足你的要求呢?

LuckLrj2006-3-25 03:20 PM
哈哈
楼上的,你的图片一样可以被破解的。很简单

zdhcn2006-3-26 01:43 AM
[quote]原帖由 [i]LuckLrj[/i] 于 2006-3-25 11:20 PM 发表
哈哈
楼上的,你的图片一样可以被破解的。很简单 [/quote]

那兄弟你就动手吧~
有兴趣,就把其中一张图片转贴在这里吧!
如果大家都看到了,就算你成功!

LuckLrj2006-3-26 07:53 AM
你那防盗不管用的。
只要在ifream内包含你的页面,再粘贴出来你的图片,不就可以了?
这个是最简单突破cookie session保护页面的办法。
有判断referver的话,等你的页面加载完了再js转向到固定的页面。就行了。

奶瓶2006-3-26 03:04 PM
终极的,只有加非固定条件的端口映射

zdhcn2006-3-26 03:09 PM
[quote]原帖由 [i]LuckLrj[/i] 于 2006-3-26 03:53 PM 发表
你那防盗不管用的。
只要在ifream内包含你的页面,再粘贴出来你的图片,不就可以了?
这个是最简单突破cookie session保护页面的办法。
有判断referver的话,等你的页面加载完了再js转向到固定的页面。就行了。 [/quote]

怎么这么多光说不练的?
等什么啊?弄得我都不耐烦啦!!!

整出来一个啊~别让人笑掉大牙哦!

darx2006-3-27 01:19 AM
[quote]原帖由 [i]zdhcn[/i] 于 2006-3-25 03:56 PM 发表
我的图片站“[url]http://gallery.10jqka.com.cn/[/url]”上面的图片是防止盗链的。
你转贴到其他网站上,你自己能看到,别人看到的都是一张提示盗链图片,是不是满足你的要求呢? [/quote]
你这个是怎么做的呢?
我的那里有很多类型的文件
看用你这个可行不?

[[i] 本帖最后由 darx 于 2006-3-27 09:21 AM 编辑 [/i]]

diekiss2006-3-27 03:11 AM
上Google查一查“Apache 图片防盗链”

darx2006-3-27 03:57 AM
[quote]原帖由 [i]diekiss[/i] 于 2006-3-27 11:11 AM 发表
上Google查一查“Apache 图片防盗链” [/quote]
thx

Dalamar2006-3-27 06:20 AM
ftp的话,proftp+mysql认证
http的话,apache似乎也有个mysql认证模块的

referer不能彻底防止的。

cutejing2006-3-27 06:29 AM
[quote]原帖由 [i]zdhcn[/i] 于 2006-3-26 11:09 PM 发表


怎么这么多光说不练的?
等什么啊?弄得我都不耐烦啦!!!

整出来一个啊~别让人笑掉大牙哦! [/quote]

[php]
<?php
$content=file_get_contents("http://gallery.10jqka.com.cn/");
preg_match_all('/<img src=(.+) (width=".+")? (height=".+")?\/>/',$content,$match);
//print_r($match);
foreach($match[1] as $key=>$value)
{
  //str_replace('src="','',$value);
  echo '<img src="http://gallery.10jqka.com.cn/'.substr($value,1)."/>";
  
}

?>

[/php]
随便写了下 ......

LuckLrj2006-3-27 06:51 AM
zdhcn 看到没有?
楼上的已经把你图片全部显示出来了,何至一张?

namelessxp2006-3-27 08:17 AM
好像不是这么简单的,唔,顺便问个问题,这个防盗链是WEB服务的行为,还是脚本的行为?

zdhcn2006-3-27 02:14 PM
[quote]原帖由 [i]LuckLrj[/i] 于 2006-3-27 02:51 PM 发表
zdhcn 看到没有?
楼上的已经把你图片全部显示出来了,何至一张? [/quote]

都是写程序的,怎么都脑子都这么简单呢?

看来我有必要跟你们好好讲讲了~
所谓“盗链”,是说制作一个页面,上面具有来自其他网站的元素,比如你在[url]www.phpx.com[/url]上制作一个页面,上面有一个盗链图片,从html代码上看,就是有这样的代码<img src="http://gallery.10jqka.com.cn/data/......" />,这样就利用了其他网站的资源来制作页面。

你的确把我的网站的图片引用到你的页面上了,但是这个页面的图片恐怕只有你自己能看到,你把你的页面放在网上给大家看看就知道什么效果了~

我这样做,是防止有些人在其他论坛上转贴我网站的图片,除非下载、保存再上传——就是别想用我的服务器!!!

[[i] 本帖最后由 zdhcn 于 2006-3-27 10:16 PM 编辑 [/i]]

namelessxp2006-3-28 12:42 AM
如果我没猜错,这个应该是跟 IP/图片 关联,属于脚本行为的防盗链


查看完整版本: 关于防盗链


Powered by Discuz! Archiver 6.1.0  © 2001-2006 Comsenz Inc.
Processed in 0.00669 second(s), 2 queries