无法跟踪的URL掩码


Untraceable URL Mask

我想屏蔽我网站上的一个文件URL,以便可以访问它,但他们找不到文件的直接URL,即使查看HTML源代码也是如此。我不知道php是否可行,但请帮助我。任何事情都可以。

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

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

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

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

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

你不能。

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

浏览器由用户控制。

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