有自己的主機一般都會設計"防盜鏈", 其實包括圖片防盜鏈,和下載防盜鏈等,如:
1.使用.htaccess設置防盜鏈
復制代碼 代碼如下:RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?jb51.net/.*$ [NC]
RewriteRule \.(gif|jpg)$ http://www.jb51.net/image.gif [R,L]
2.nginx設置防盜鏈
復制代碼 代碼如下:location ~* \.(gif|jpg|png|swf|flv)$ {
valid_referers none blocked jb51.net;
if ($invalid_referer) {
rewrite ^/ http://jb51.net/234_s.gif;
#return 404;
}
}
但怎麼破解防盜鏈呢? 一般的防盜鏈是判斷來路是否為自己的域名, 我們可以使用 php 內置的 file_get_contents 方法來請求這個圖片(當然別的後端語言也有類似的方法), 如:
復制代碼 代碼如下://getImg.php?url=目標圖片連接
<?php
header('Content-type: image/jpeg');
echo file_get_contents(isset($_GET["url"])?$_GET["url"]:'http://static.jb51.net/images/v1/loading-16-16.gif');
?>
看例子:
1, 直接加載防盜鏈圖片:(該站未授權的圖片顯示都是空白)
2, 通過php讀取圖片: