0

我想屏蔽我网站上的文件 URL,以便可以访问它,但即使查看 HTML 源代码,他们也找不到文件的直接 URL。我不知道是否可以使用 php,但请帮助我。什么都会做。

4

2 回答 2

1

如果我正确理解您的问题,您希望避免“深度链接”,即有人从您的页面中提取文件 URL 并在其他地方使用它。

这不能直接完成,因为浏览器需要这些信息才能访问文件,而坚定的攻击者将很容易将其提取出来。

不过有一个解决方法:使这个 URL 动态化。

  • 将文件放在可公开访问的 Web 根目录之外
  • 从 PHP 传递 HTML 页面时,创建一个下载令牌,该令牌具有文件路径、到期时间(可能还有其他因素,例如会话 ID、引荐来源网址等...)加密保护(即,将其与服务器已知的秘密)
  • 提供下载脚本的链接,而不是文件本身
  • 在下载脚本中,验证参数和哈希,如果错误则退出 304(或者可能是 404)
  • 如果验证通过,只需交付文件

这将保护您免受深度链接,因为攻击者将能够提取一个 URL,该 URL 在您的到期时间后失去其有效性。如果您在开始下载之前立即使用 AJAX 请求创建下载令牌,则可以缩短此时间(几秒钟)

于 2013-07-18T10:04:57.053 回答
0

你不能。

浏览器必须知道从中请求文件的 URL。

浏览器在用户的控制之下。

您提供给浏览器的任何信息,您也提供给用户。

于 2013-07-18T09:56:13.043 回答