2012-04-24 55 views
-5

我正在創建一個工作網站,員工將上傳簡歷/簡歷。阻止人們從網站上竊取文件

我該如何阻止他人查看其他人的簡歷並停止搜索引擎索引此內容?

+4

只是阻止URL'HTTP:沿東西線使用的htaccess或使用不同的方法 – 2012-04-24 20:40:53

+0

,這取決於你的需要和情況,你有沒有發佈。 – Lalajee 2012-04-24 20:42:08

+0

@Lalajee // YourSite/downloadAllResumes' – Brad 2012-04-24 21:09:45

回答

5

您可以使用身份驗證系統,並且不會將公開網址呈現給下載程序。 例如,創建一個表,如:

file_name | file_path   | file_code 
------------------------------------------------------- 
My picture | /var/docs/img.jpg | kljsldjalksdqhq1218 

而在用戶登錄(並滿足您定義的標準)後,你送他的下載鏈接:

http://yoursite.com/index.php?page=download&file=kljsldjalksdqhq1218

然後您查詢數據庫,檢查正確的關聯,然後讀取文件 - 位於文檔根btw之外,例如使用file_get_contents(),並將其作爲八位字節流或其他適當的MIME用於文件類型,以強制文件下載;

header('Content-Type: "'.$mime.'"'); 
header('Content-Disposition: attachment; filename="'.$filename.'"'); 
header("Content-Transfer-Encoding: binary"); 
header('Expires: 0'); 
header('Pragma: no-cache'); 
header("Content-Length: ".strlen($file)); 
+3

除此之外,請不要將系統中的文件保存爲與用戶上傳的文件相同的文件。您可以掛在該文件名上,以便稍後用戶下載時,可以將其退回,但本地系統上的文件名應該是隨機的,並且沒有擴展名。 – Brad 2012-04-24 21:08:53

+0

我已經下了上傳文件的時間作爲名稱,並在最後沒有EXE。這是鏈接domain.com/download.php?id=2。這然後檢查表中的id並且用戶可以下載該文件。我已經完成了你在這個回覆中所寫的內容。我的文件是否仍然可以從我的服務器上獲取? – Lalajee 2012-04-28 10:09:56

10

簡單。沒有一些認證,不要讓這些文件可用。

+1

,並在相關頁面的元素中加入。 – SimSimY 2012-04-24 20:41:39

+0

你必須登錄才能查看文件,但我不會隱藏我的僱主和僱員的保存路徑。 – Lalajee 2012-04-24 20:42:51

+0

也許還有一些授權嗎? – 2012-04-24 20:44:39