2017-06-07 20 views

回答

1

也許你可以試試這些:在散列格式

  1. 商店中的程序名,所以不是www.mywebsite.com/programs/paint.exe也許在這樣的www.mywebsite.com/programs/ca63ff966ff272da14e4fc2e73fcd399更好。您至少已將付費程序存儲在表中,並且該表應提供其哈希格式名稱列。
  2. www.mywebsite.com/programs/paint.exe此網址應該且只能由經過身份驗證的用戶訪問。如果它已經通過身份驗證的用戶,則檢查此用戶的購買歷史記錄,如果他/她曾購買此paint.exe計劃,如果沒有購買記錄,則必須將他/她重定向到您的付款頁面。
+0

謝謝你,謝謝D.R –

0

除了使用散列文件名作爲彼得提到的,你可以使用PHP來認證後提供文件。

創建一個htaccess重寫來發送文件的任何請求直接到一個PHP腳本。在php腳本中,執行一些驗證(I.E.有用戶登錄,或讓他們使用設置會話變量的安全鏈接等)。然後,如果用戶認證成功,使用PHP返回使用http標頭的文件。

header('Content-Type: application/x-msdownload'); // Set this to a .exe 
header('Content-Disposition: attachment; filename="paint.exe"'); // Set the filename to download. 
$downloadFile = file_get_contents('programs/hashedpaintexename.exe'); 
echo $downloadFile; 

注意:您將要確保你應該使用哈希文件名,你會希望你的htaccess處理這些散列的文件。

另一種選擇是,如果你已經控制了服務器,那麼你可以讓PHP從網站目錄之外加載文件,而不是使用htaccess重寫。例如,如果您的網站目錄是/var/www/mywebsite,請讓php從/whatever/path/you/want加載可執行文件,前提是php具有對目錄的讀取權限。

相關問題