2015-11-17 71 views
0

我在運行Apache2的LAMP服務器上修改網頁,並想知道是否可以讓一個目錄只能訪問您的網頁而不能從外部訪問?LAMP - 使目錄只能訪問某些網頁

示例方案:

目錄保護:DIR1含圖片(JPG,PNG)

我自己的網頁:的mypage.html調用從DIR1

圖片

我的網站:www.myweb.com同時包含dir1的mypage.html

目前,該網站內的文件可以通過www.myweb.com/dir1/somefile.jpg或致電的mypage.html訪問

我想它只可訪問調用的mypage.html

我曾嘗試以下:

  • 修改的.htaccess不允許的圖像類型的接入

    <files "*.jpg"> 
        deny from all 
    </files> 
    

(不起作用,因爲的mypage.html也不能訪問它)

  • 修改的Apache2的conf文件:

    <Directory /var/www/dir1> 
        AllowOverride None 
        <Limit GET POST OPTIONS> 
        Order deny,allow 
        Deny from all 
        </Limit> 
    </Directory> 
    

    (這實際上是半工作的,因爲它允許我寫入目錄但不能讀取,也許這可以修改爲允許請求co明從內部網頁要經過?)

我猜得出結論,有沒有一種方式來獲得的Apache2只接受請求訪問目錄,如果你選擇的某些網址的?

在此先感謝。

+1

我相信這就是你要找的。 http://stackoverflow.com/a/1245917/330987 –

+0

我會看看,謝謝。 – publicknowledge

回答

0

所以,我決定,我的辦法已經採取到目前爲止真的不剪,發現你實際上可以調用PHP函數,其中

<img src='somefile.php?query=xxx' alt='pic'> 

,並在那裏的somefile.php我有需要從上面的查詢創建的img文件名。

echo file_get_contents($imgresource); 

通過從PHP腳本服務形象,被稱爲不正確的憑據,會話cookie和IP封鎖阻止該PHP腳本,有一些安全設置。

所以我想它並沒有真正回答整個阻止訪問一些URL的問題,但它的作用是不能被外部訪問,因爲我埋在下面的目錄(或以上? )web根目錄不能從url調用,只能從內部腳本調用。

+1

如果我知道你在使用PHP,我會提出這種方法。然而,你沒有把問題標記爲php或有任何php的例子。很高興你找到了可以使用的東西。 –

+0

對不起。我沒有指定php,因爲最初的問題是我把它裝進去,不是特定的腳本。感謝您確認方法。 – publicknowledge