1.使用.htaccess設(shè)置防盜鏈
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?genban.org/.*$ [NC]
RewriteRule \.(gif|jpg)$ //www.genban.org/image.gif [R,L]
2.nginx設(shè)置防盜鏈
location ~* \.(gif|jpg|png|swf|flv)$ {
valid_referers none blocked genban.org;
if ($invalid_referer) {
rewrite ^/ http://genban.org/234_s.gif;
#return 404;
}
}
但怎么破解防盜鏈呢? 一般的防盜鏈?zhǔn)桥袛鄟?lái)路是否為自己的域名, 我們可以使用 php 內(nèi)置的 file_get_contents 方法來(lái)請(qǐng)求這個(gè)圖片(當(dāng)然別的后端語(yǔ)言也有類(lèi)似的方法), 如:
<?php
$url=empty($_GET['url'])?'':trim(urldecode($_GET['url']));
if(empty($url))die('?url=');
$new_name = new_name($url);
if(file_exists($new_name)){header('location:'.$new_name);return;}
$type = get_type($url);
header('Content-type: image/'.$type);
$content = file_get_contents($url);
//file_put_contents($new_name,$content);
echo $content;
function new_name($url){
$url = strtr($url,array(':'=>'','//'=>'','/'=>'_'));
return 'uploads/cache/'.$url;
}
function get_type($url){
$type=substr(strrchr($url,"."),1);
if(in_array($type,array('png','gif','bmp','webp')))return $type;
return 'jpeg';
}
?>
1、直接加載防盜鏈圖片:(該站未授權(quán)的圖片顯示都是空白)2、 通過(guò)php讀取圖片,就可以直接顯示出來(lái)圖片了.對(duì)于一般的防盜鏈情況是沒(méi)有問(wèn)題的特殊情況再考慮吧
【網(wǎng)站聲明】本站部分內(nèi)容來(lái)源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問(wèn)題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!