2017-10-10 93 views
-4

我已經遍尋搜索,但很多與我的情況類似,但沒有真正的幫助。因此,我的網站允許用戶在按下按鈕時下載PDF,但如果他們輸入URL(如「test.com/ebook/good.pdf」),則會將它們重定向到我的目錄並向他們顯示PDF,而不用按下下載按鈕。那麼有沒有辦法阻止他們使用一些代碼而不是htaccess進入我的電子書?防止用戶訪問目錄

+0

我相信你能避免直接URL訪問的唯一方法是與htaccess的。 [見這裏](https://stackoverflow.com/questions/9282124/deny-direct-access-to-a-folder-and-file-by-htaccess) –

回答

0

那麼,實際上,你必須同時使用.htaccess和一些代碼。如果您使用的PHP沒有像LavarelCodeIgniter這樣的MVC框架,最簡單的方法是在您的下載文件夾中放置一個.htaccess文件,將文件夾中的所有請求重定向到index.php文件,該文件將發送標頭,強制用戶下載文件而不是直接打開它。

該代碼將是這個樣子:

<?php 
$filename = basename($_SERVER['REQUEST_URI']); 
header('Content-Description: File Transfer'); 
header('Content-Type: application/octet-stream'); 
header("Content-Disposition: attachment; filename='" . $filename . "'"); 
header('Content-Transfer-Encoding: binary'); 
echo file_get_contents(__DIR__ . '/' . $filename);