我想屏蔽我网站上的文件 URL,以便可以访问它,但即使查看 HTML 源代码,他们也找不到文件的直接 URL。我不知道是否可以使用 php,但请帮助我。什么都会做。
问问题
671 次
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 回答