2011-07-24 37 views
1

我想,讓盜鏈圖片即允許允許盜鏈圖片,但重定向到PHP腳本

<a href="http://example.com/image.php/image.jpg"> 
    <img src="http://example.com/image.php/image.jpg"> 
</a> 

從外部站點。但是如果點擊使用htaccess重定向到顯示html的腳本。

我在想.htaccess可能會重定向到image.php,以顯示hotlinkers和image-html.php的常規圖像,以供任何人從熱鏈接圖像中點擊。

這可能與htaccess?

+1

您可以使用mod_rewrite檢查引用程序頭的存在,但引用程序不可靠,並且始終會導致此類操作的問題。 –

+0

感謝Marc,我們很酷地使用mod_rewrite和檢測標題,但是我們無法區分實際瀏覽器訪問中的盜鏈。 – ImageGuy

+0

你可以定義這個與htaccess。 在這個網站看一看或者只是谷歌: 的htaccess防止盜鏈圖片 http://www.javascriptkit.com/howto/htaccess10.shtml 如果你看一下第二個代碼示例,它說: RewriteEngine敘述RewriteRule \。(gif | jpg)$ http://(www \。)?mydomain.com /.*$ [NC] RewriteCule%{HTTP_REFERER}!^ $ RewriteCule%{HTTP_REFERER}!^ http: //www.mydomain.com/angryman.gif [R,L] 所以它只是檢查:「這是來自我自己的域的圖像請求還是來自另一個域 - 如果它不是來自我自己的域顯示另一張圖片「 – Richard

回答

1

問題是,當兩者都在遠程頁面上時,在點擊<a href="yourimage"><img src="yourimage">之間的HTTP標頭之間絕對沒有區別。兩者都具有相同的HTTP Referer - 圖像和鏈接所在頁面的地址。兩者都只是被視爲對形象的要求。你可以嘗試一些時間計算 - 嵌入式圖像將在'X'時間加載,點擊鏈接將在Y時間進入。但這又是不可靠的並且受到遊戲的限制。

爲了可靠區分,您需要擁有不同的網址。即使附加僞造的查詢字符串,例如<img src="yourimage?src=imgtag">也會有所幫助,但這假定您可以對圖像鏈接/鏈接的位置/方式進行某種控制。