2011-04-04 195 views
0

比方說,我有一個電影或其他東西的SWF(這實際上是一個流,但它並不重要)。只允許某些人查看文件

我創建了一個非常安全的方式來到它顯示的頁面(如嵌入)。唯一的問題是:

如何阻止某人查看源代碼或使用類似Firebug的東西並將文件的地址發送給其他人。

我希望他們看到結果,但無法將其發送給其他人。

我的網站的平臺是LAMP。

回答

1

你不能這樣做。

  • 如果你不想讓客戶知道一些東西,唯一的選擇是不告訴它;
  • 如果你不告訴客戶端文件在哪裏,他不可能查看它。

你應該做的是做一些驗證和授權,以便只有經過驗證和授權的用戶才能訪問上述地址。這樣用戶可以分享他們喜歡的地址,但未經授權的用戶只能獲得「訪問被拒絕」信息。

雖然這並不妨礙授權用戶下載文件並將其託管在其他地方。如果你不相信他們不這樣做,不要授權他們。

0

您可以執行引用檢查來防止用戶直接訪問文件。

$referer = $_SERVER['HTTP_REFERER']; 
$components = parse_url($referer); 

if ($components['host'] != "www.example.com") { 
    // User didn't access file from your site. 
} 

這可以通過欺騙referer頭來繞開,但應該打敗臨時用戶。

當然,這並不妨礙有人下載並重新託管文件。

+0

這會阻止some1訪問該頁面......但是如果他/她獲取了嵌入標籤並將其放置在位於任何位置的另一個html文件中,他們仍然可以訪問它......這是我的問題。 – zozo 2011-04-04 10:35:32

1

我創建了一個非常安全的方式來獲得它顯示

耐人尋味的頁面。請詳細描述這種安全的方式。

如果它在它authenticatesauthorises用戶,那麼它提供你問從URL中共享的安全意識安全

+0

我生成了一些令牌,然後郵寄給他們,他們在網站上輸入令牌,然後他們被重定向到他們無法進入的頁面,除非在與相應令牌的會話中有變量。使用一個包含發射時間和一些其他屬性的公式來檢查令牌的可變性。然後令牌變得無效。我唯一的問題是這個。一個人應該進入並擁有權限進入該頁面,然後使用視圖源來獲取網址流,不知道...將它郵寄給some1或其他任何 - >當然......是我個人的觀點,這是非常安全的。 – zozo 2011-04-04 10:41:43

+0

@zozo:只需將相同的機制應用到流網址即可。 – 2011-04-04 10:48:46