Asp classic 如何隐藏下载链接

Asp classic 如何隐藏下载链接,asp-classic,hyperlink,download,hide,Asp Classic,Hyperlink,Download,Hide,我在我的网站上创建了一个受保护的区域,只有注册用户才能登录下载受限制的应用程序(exe)。但是他们可以复制下载链接并在互联网上使用,所以我试图找到隐藏下载链接的最简单方法(如果可能的话,使用ASP classic) 以下是我到目前为止得到的信息:。但使用此下载管理器时,exe应用程序无法解释地失去了数字签名:( 请问,有人能给我一些想法吗?也许是使用PHP或Flash 谢谢!以下是我使用ASP classic找到的解决方案: <% Option Explicit Response.Buff

我在我的网站上创建了一个受保护的区域,只有注册用户才能登录下载受限制的应用程序(exe)。但是他们可以复制下载链接并在互联网上使用,所以我试图找到隐藏下载链接的最简单方法(如果可能的话,使用ASP classic)

以下是我到目前为止得到的信息:。但使用此下载管理器时,exe应用程序无法解释地失去了数字签名:(

请问,有人能给我一些想法吗?也许是使用PHP或Flash


谢谢!

以下是我使用ASP classic找到的解决方案:

<%
Option Explicit
Response.Buffer = True
If (not Session("Logged")) Then Response.End
Dim objFso
Dim objStream
Dim strFileName
Dim strFilePath
strFileName = "App.exe"
strFilePath = "d:\yoursitefolder\protectedfolder\"
Set objFso = Server.CreateObject("Scripting.FileSystemObject")
If objFso.FileExists(strFilePath & strFileName) Then
  Response.AddHeader "Content-disposition", "filename=" & strFileName
  Response.ContentType = "application/octet-stream"
  Response.AddHeader "Pragma", "no-cache"
  Response.AddHeader "Expires", "0"
  Set objStream = Server.CreateObject("ADODB.Stream")
  objStream.Type = 1
  objStream.Open
  objStream.LoadFromFile strFilePath & strFileName
  Response.BinaryWrite(objStream.Read())
  objStream.Close
  Set objStream = Nothing
End If
Set objFso = Nothing
%>


simple solution:在下载url中嵌入一个一次性令牌。一旦该令牌被使用,您将记录为已使用,并且不再允许再次使用。@Marc B,我正在尝试理解您的想法……您能给我一些例子吗?也许可以给我一个链接,我可以从中获得更多信息?谢谢!@Paruba您存储了一些唯一的密钥(令牌)在数据库中,然后在您提供的链接中将其用作
QueryString
参数(建议将其编码为),当用户使用令牌访问页面时,您可以通过调用数据库来检查它,然后禁用它(删除或存档它)。此方法的优点在于,您还可以通过存储令牌上的元数据位,例如
下载计数
上次下载
(datetimestamp),允许一定数量的下载,然后再禁止下载…可能性是无穷的。@Lankymart,我理解你的建议,谢谢!但我找到了一种更简单的方法,并将为正在寻找解决方案的人留下答案…不确定这将如何解决你的问题,除非我没有理解这个问题…事实上,我看到他们只需要进行有效的会话,抱歉,考虑到一些问题伊森:这个链接来自一个无法控制的来源,比如一封电子邮件。最简单的解决方案往往是最好的。