防盗链问题 session 配合 ftp 做下载。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://blog.csdn.net/kingerq/archive/2004/10/06/126490.aspx一般都是这样子的方法吧。关注其它方法。 我不是说了不要用php读文件输出的吗 那样下载人数一多会把机器拖死的 比如可以这样获取资源 *.php?id=123,然后在*.php里检查用户是否登录,如果没有登录就不让下载~~ .htaccess 验证比较实际一点 在apache上打主意。禁止站外引用。很简单。 if (strpos($HTTP_SERVER_VARS['HTTP_REFERER'],"127.0.0.1")!=7&&strpos($HTTP_SERVER_VARS['PHP_SELF'],"/mans_login.php",0)<0){ header("Location:mans_login.php"); exit;}这样的行吗?外站不引用。不太明白楼主的意思(不要什么样的?)。 http://www.21code.com/antiouterlink/index.php这个功能很全的哦,应该也是采用发送的方法吧。楼主有空研究一下。 一般的盗链都是没办法防止的。采用referer?cookie?session?没用,写一个简单的程序构造一个TCP包就可以了。比较有效的就是采用验证码,将ID加密,并且加密的ID是动态的。这样没有什么规律,基本可以防止盗链。 回复人: polygame(polygame) ( ) 信誉:100 2005-01-10 19:18:00 得分: 0 一般的盗链都是没办法防止的。采用referer?cookie?session?没用,写一个简单的程序构造一个TCP包就可以了。比较有效的就是采用验证码,将ID加密,并且加密的ID是动态的。这样没有什么规律,基本可以防止盗链。 楼上的方法本人支持!!只有验证ID才行!! 可靠的办法是做ISAPI 的FILTER 用泛解析!每个从你们站点进入的连接就在一个数据表里面添加一个随机的域名,然后下载这个资源就用这个随机的域名来指定URI。下载开始以后就停用这个域名。时间问题,没有考虑得很清楚。 我觉得很简单嘛,检查是由哪个地址来的链接就行了,用 HTTP_REFERER如: if (ereg("http.*dddd.com.*",$_SERVER['HTTP_REFERER'])) {//是从自己网站来的 .... } else {//从别的地方来的,盗链! ..... } PHP实现禁止网外链接网址的方式查看网页 文章来源:不详 作者:不详 推荐等级: 访问次数:63 // 禁止网外链接(例如搜索引擎)查看网页内容 if(!empty($_SERVER['HTTP_REFERER'])) { preg_match("/^(http:\/\/)?([^\/]+)/i",$_SERVER['HTTP_REFERER'], $matches); $host = $matches[2]; if(($host=="211.152.50.35")||($host==www.phpv.net)) { } else { header("Location:http://www.phpv.net"); exit; } } // 禁止直接输入网址查看网页内容 else { header("Location:http://www.phpv.net"); exit; } 只有点击超链接(即<A href=...>) 打开的页面才有HTTP_REFERER环境变量, 其它如 window.open()、 window.location=...、window.showModelessDialog()等打开的窗口都没有HTTP_REFERER 环境变量; 这样的限制会使网站少很多活性。当然啦,鱼与熊掌不可兼得,呵呵。 设置apache。禁止站外引用.网易的图片就是防盗链的,可以看看 支持用apache限制。以前好象在网上见过。 凡是检测Referrer的都不顶用!凡是Header(Location:***)转向的都不顶用!继续 .htaccess 验证和MYSQL数据库怎么接合用? 我就搞不明白,如果人家直接用地址连接要下载的文件,通过程序就是指定没有用的.在apache上做文章吧.程序绝对没有用的. Fatal error: Allowed memory size of 8388608 bytes exhausted 如何在smarty中将javascript的值传到smarty中 mysql语句问题。。 PHP统计网卡流量怎么做啊? php5.3支持mssql吗 面向对像的问题 能把人鼻子气歪的 if()问题,朋友们一起探讨一下 草鸟问个CHECKBOX的问题 关于如何将PHP和MYSQL数据库上传???????? ZendStudio 使用svn 不显示版本号 如何比较时间? Cookie到底是用的什么编码方式?
一般都是这样子的方法吧。
关注其它方法。
{
header("Location:mans_login.php");
exit;
}
这样的行吗?外站不引用。
不太明白楼主的意思(不要什么样的?)。
这个功能很全的哦,应该也是采用发送的方法吧。楼主有空研究一下。
一般的盗链都是没办法防止的。采用referer?cookie?session?没用,写一个简单的程序构造一个TCP包就可以了。比较有效的就是采用验证码,将ID加密,并且加密的ID是动态的。这样没有什么规律,基本可以防止盗链。
楼上的方法本人支持!!只有验证ID才行!!
每个从你们站点进入的连接就在一个数据表里面添加一个随机的域名,然后下载这个资源就用这个随机的域名来指定URI。下载开始以后就停用这个域名。时间问题,没有考虑得很清楚。
如:
if (ereg("http.*dddd.com.*",$_SERVER['HTTP_REFERER']))
{//是从自己网站来的
....
}
else
{//从别的地方来的,盗链!
.....
} PHP实现禁止网外链接网址的方式查看网页
文章来源:不详 作者:不详 推荐等级: 访问次数:63
// 禁止网外链接(例如搜索引擎)查看网页内容 if(!empty($_SERVER['HTTP_REFERER']))
{
preg_match("/^(http:\/\/)?([^\/]+)/i",$_SERVER['HTTP_REFERER'], $matches);
$host = $matches[2];
if(($host=="211.152.50.35")||($host==www.phpv.net))
{
}
else
{
header("Location:http://www.phpv.net");
exit;
}
}
// 禁止直接输入网址查看网页内容
else
{
header("Location:http://www.phpv.net");
exit;
} 只有点击超链接(即<A href=...>) 打开的页面才有HTTP_REFERER环境变量, 其它如 window.open()、 window.location=...、window.showModelessDialog()等打开的窗口都没有HTTP_REFERER 环境变量; 这样的限制会使网站少很多活性。当然啦,鱼与熊掌不可兼得,呵呵。
凡是Header(Location:***)转向的都不顶用!继续