簡體   English   中英

臨時鏈接

[英]Temporary Links

我在許多下載服務器上看到在特定時間內創建到特定IP的虛擬鏈接。

我想知道這是由PHP還是.htaccess完成的,以及如何完成?

謝謝。

.htaccess只是一種基於每個目錄為一些流行的Web服務器設置配置指令的方法。

你需要在某些時候進行編程。 PHP是一個選項,還有很多其他選項,我的偏好是Perl。

解決方案基本歸結為:

  1. 生成代碼以響應您喜歡的任何條件
  2. 將其存儲在某個地方(例如數據庫),其中包含IP地址,創建時間以及與之關聯的內容
  3. 在使用該代碼的URL被查找時查找,然后使用相關內容的禁止進行響應
  4. 定期清理腳本以刪除舊條目並使數據庫保持較小

它通常使用.htaccess重寫規則和php腳本完成。

如何創建臨時URL以防止PHP中的鏈接? 有一些有用的信息和你應該能夠使用的實例理論。

header('Content-Type: application/force-download');

$file = 'yourfilename.pdf';
$fileLocation = dirname(__FILE__) . "/..anyfolder/" . $file;
header('Content-Length:' . filesize($fileLocation));
header("Content-Disposition: inline; filename=\"".$file."\"");
$filePointer = fopen($fileLocation,"rb");
fpassthru($filePointer);

您可以深入了解codecanyon商業腳本“受保護的鏈接 - 過期鏈接”。 它會創建按時間,下載次數和IP到期的下載鏈接。

http://codecanyon.net/item/protected-links-expiring-download-links/2556861

它涉及兩個步驟:

  1. 生成鏈接(在php級別完成)。
  2. 根據URL路由請求。

第2步通常涉及正則表達式,可以在.htaccess級別或php級別完成。 如果緩存生成的URL,它也可以使用數據庫查詢。

有關實現的詳細信息,您可能需要查看MVC框架。 它們都有某種Router對象,例如:

http://symfony.com/doc/current/book/routing.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM