无法追踪的网址掩码

时间:2013-07-18 09:54:26

标签: php url mask

我想在我的网站上屏蔽文件URL以便可以访问它,但是他们找不到文件的直接URL,即使查看HTML源代码也是如此。我不知道是否有可能与PHP,但请帮助我。什么都行。

2 个答案:

答案 0 :(得分:1)

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

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

但有一种解决方法:将此网址设为动态。

  • 将文件放在公开可访问的网络根目录
  • 之外
  • 从PHP交付HTML页面时,创建一个下载令牌,其中包含文件路径,到期时间(以及其他因素,例如会话ID,引用URL等等)加密保护(即哈希)它与服务器已知的秘密一起)
  • 提供下载脚本的链接,而不是文件iself
  • 在下载脚本中,验证参数和哈希值,如果错误则退出304(或者404)
  • 如果验证通过,只需提交文件

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

答案 1 :(得分:0)

你做不到。

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

浏览器受用户控制。

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