【问题标题】:Hiding/changing the virtual path in classic ASP隐藏/更改经典 ASP 中的虚拟路径
【发布时间】:2025-12-15 00:15:03
【问题描述】:

我们有一个需要用户名和密码的网站。登录后,用户可以在 Web 浏览器中选择指向 PDF 的链接。一旦发生这种情况,他们就可以看到 PDF 的完整 URL 路径,他们可以将路径复制并粘贴到不同的浏览器中而无需登录,或者将地址发送给其他人查看。

我是问同事,所以我不太确定需要什么,但他们想将其从“documents/customerlist.pdf”更改为“documents/info.asp”(不确定是什么文件类型应该是,也许只是“文档/信息”?)我认为这就是目标。这可能吗?如果有人能指出我正确的方向,我们可能会弄清楚!

【问题讨论】:

  • 蒂姆,你最近怎么样?
  • 很好,URL 重写很好。我什至不知道这是可能的!谢谢
  • 是的,对于 ASP 有许多重写方法并不为人所知。方便知道!

标签: pdf asp-classic virtual-path


【解决方案1】:

我认为你可以在 ASP 中做到这一点。您需要通过 ASP 页面动态交付 PDF,该页面检测用户的会话并仅在经过适当身份验证时才提供数据(因此将 URL 复制到不同的浏览器/机器将导致 404 或访问被拒绝,如你希望)。您需要从文件中读取数据并将其二进制写入浏览器,并为 mime 类型、内容长度等设置 HTTP 标头。

我会先在 pdf.asp?file=customerlist URL 上提供它,但您可以稍后尝试将其更改为更易读的内容 (docs/customerlist.php)。您需要在此处查看 URL 重写。

所以,这是一般的方法。如果您围绕这些主题(“ASP 服务二进制文件”、“ASP URL 重写”)进行网络搜索,您一定会得到很多示例。

【讨论】: