2014-11-05 15 views
-1

我被要求設計一個特定的模塊,當你在系統中下載文件附件時,已經下載的那個文件的URL將被加密,這樣下載文件的真實URL將不會被阻止黑客的某種..如何使用PHP加密下載的文件的URL?

任何人有想法如何創建一個特定的加密?

OH中,我正在開發這個系統使用笨的方式..

任何幫助,將不勝感激

謝謝

+1

您需要提供您嘗試訪問什麼,所以回來你後處境艱難時看着'fpassthru'和'readfile' http://php.net/manual/en/function.readfile.php – cmorrissey 2014-11-05 14:31:36

+0

要詳細說明上述評論,請將文件保存到webroute之外,並使用php提供。然後該網址是永遠不知道的(如果是網絡訪問的話) – Steve 2014-11-05 14:33:44

+0

@cmorrissey多數民衆贊成在問題先生。我不能給你代碼。因爲保密..我只需要一些建議,如何做到這一點,我可以用它來做。 – kathleen55 2014-11-05 14:45:08

回答

1

像這樣的事情?:

<?php 
    $masked_name = "anything_you_want.zip"; 
    $file_name = "actual_filename.zip"; 

    $file = "path/to/files/".$file_name; 
    $f = fopen($file, 'rb'); 

    header("Content-Type: application/octet-stream"); 
    header("Content-Disposition: attachment; filename=$masked_name"); 
    header("Content-Length: " . filesize($file)); 
    fpassthru($f); 
?> 

$ masked_name是你的「加密」文件名,你可以用它來做任何你想做的事情,比如哈希實際名稱或其他。只要保持文件擴展名相關。

更新:你可能也想無論是從Web服務器查找文件遙不可及或限制使用的.htaccess