2011-04-04 153 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