請幫我解決盜鏈,如何防止直接訪問這個URL並重定向訪問者的index.php:如何防止直接訪問URL?
http://www.example.com/index.php?link=http://www.anysite.com/dir/file&name=on&email=on&submit=on
請幫我解決盜鏈,如何防止直接訪問這個URL並重定向訪問者的index.php:如何防止直接訪問URL?
http://www.example.com/index.php?link=http://www.anysite.com/dir/file&name=on&email=on&submit=on
,您在搜索這樣的事情:
if(!strpos('mysite.com',$_SERVER["HTTP_REFERER"])) header('Location: index.php')
無法正常工作,我仍然可以通過複製粘貼直接訪問我的鏈接 – Mikerobenics 2011-05-04 07:57:58
HTTP_REFERER不是很可靠。有些隱私插件會設置隨機(或空白)插件,因此可能會有一些人無論如何都無法訪問您的鏈接。 – sfrench 2011-05-04 08:07:04
爲目的回答這個問題,我假設你不在乎同一用戶是否多次訪問 (假設第一次訪問是通過主索引頁面訪問的)。這也假定用戶將接受一個cookie。
當主索引頁:
當加載網址:
使用的htaccess文件是解決這個問題的共同解決方案:
從http://altlab.com/htaccess_tutorial.html
這段代碼在特定重定向任何人試圖熱鏈接的圖像。
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\.(jpe?g|gif|bmp|png)$ http://img148.imageshack.us/img148/237/hotlinkp.gif [L]
你想阻止特定的網址嗎?你想只允許特定的網址嗎? GET參數'link'在哪裏被處理?一些代碼?太模糊。如果問題沒有被重新訪問,在5分鐘內標記。 – Shoe 2011-05-04 07:18:44
我猜你想阻止深度鏈接。通常情況下,這是通過apache的配置而不是PHP來完成的,並且關於防止深度鏈接的話題幾乎可以肯定已經有很多問題。 – GordonM 2011-05-04 07:24:11
請參閱http://stackoverflow.com/questions/165975/determining-referer-in-php – Paul 2011-05-04 07:25:25