Baidu不行Google下,找PHP防盗链方法,可是类似以下的很多:
只要几分钟就可以你的服务器或空间有防盗链功能
首先要确认你的服务器或空间的服务器解译引擎为Apache2,还有支持.htaccess客户设置文件,
如果你有自己的服务器就请先对./conf/httpd.conf 文件做以下修改
找到:#LoadModule rewrite_module modules/mod_rewrite.so
把前面的 # 给去丢
找到等一个 AllowOverride None 改为 AllowOverride All
重启Apache2服务器
接下就是做一个 .htaccess 文件了,其 .htaccess 文件内容为
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^*$ [NC]
RewriteCond %{HTTP_REFERER} !^ [NC]
RewriteCond %{HTTP_REFERER} !^*$ [NC]
RewriteCond %{HTTP_REFERER} !^ [NC]
RewriteRule .*\.(jpg|jpeg|gif|png|bmp|rar|zip|exe)$ [R,NC]
其中有色的地方都是要改为你的:
红色:就是改为你提供下载页面的地址,也就是只有通过这个地址才可以下载你所提供的东东。
蓝色:就是要保护文件的扩展名(以|分开),也就是说以这些为扩展名的文件只有通过红色的地址才可以访问。
绿色:如果不是通过红色的地址访问蓝色这些为扩展名的文件时就回重定向到绿色地址上。
接下就是怎么用 .htaccess 文件来实现防盗链了。
首先要在空间上建两个目录(当然目录名随你),一个为 web 另一个为 down ,
web 是用来放下载页面的(或下载程序),down 当然就是放你提供的东东的啦,
把 .htaccess 文件的红色部分改一下,改为http://你的域名/web。蓝色部分
改为你要保护文件的扩展名。绿色部分改为http://你的域名/web。改后保存
.htaccess 文件把它上传到 down 目录。
好了这样就完成了,简单吧,现在你不需要去买那些所为的大形服务器就用这样
功能,我们可是山下的人有钱上网搞个FREE空间就算不错啰。
以上信息可以到:
查看。
唉,对于虚拟机用户就不行了。
于是,自己苦心做了个东东,
供大家参用。
针对CTB论坛
1、将以下代码另存为tu.php。
<?php global $t; if (isset($_GET['tu'])) { $t = $_GET['tu']; if (strlen($t)<=100 and strlen($t)>=5) { //即,对文件进行判断,文件名最少5个字符,如,a.jpg,否则,下载m.gif文件。
$t = str_replace("tanzit","xindet",$t); //此行可以实现图片盗链:)
$cshu = 10; switch (substr($t,-4,4)) { case ".gif": $cshu = 1; break; case ".jpg": $cshu = 1; break; case ".png": $cshu = 1; break; case ".bmp": $cshu = 1; break; } if (($cshu == 10) or !file_exists($t)) { $t = "m.gif";}} }else{ $t = "m.gif";} header("Content-type: image/*"); @$pic = file_get_contents($t); echo $pic;
unset($t,$pic); ?>
|
2、将其放到CTB根目录下。
3、将m.gif文件存放在CTB根目录下。
m.gif为无法找到图片时,显示的图片。
4、修改
CommonClass.php文件
CTB的include目录,CommonClass.php文件,查找“点击查看全图”,
将前面的,
在论坛里插入图片时,[img]tupian.jpg[/img]
使用方式,tu.php?tu=tupian.jpg
5、防盗链
修改,tu.php中的
$t = str_replace("tanzit","xindet",$t);
tanzit为源目录,xindet为新的图片目录。
将CommonClass.php中的,tu.php改其它PHP文件,如tupian.php。
之后,重命名,现在的tu.php为tupian.php。
6、盗链效果
IE里无法右击另存图片,但,打开图片URL时,将提示下载文件。
文件下载后,为乱码,改扩展名,即可显示图片。
火狐里,右击可另存图片,同IE效果一样。
7、撤销CTB论坛防盗链
CommonClass.php文件将
8、注意include目录文件只读。
9、演示地址
这里,
右击无法下载,即使得到源图片目录,定期修改上述参数就可以了。
即,$t = str_replace("tanzit","xindet",$t);
10、关于窃取到了图片位置
如,
直接对应的图片位置是,
请查看5内容。
11、其它防盗链
该盗链方法,仅是针对CTB论坛的。其它的,也可以参照操作。
12、写在最后
文件防盗链也可以参照着操作
另注:防盗链效果查看位置,
a,
b,
相关文章:升级PHP图片防盗链[针对CTB论坛]
阅读(2394) | 评论(0) | 转发(0) |