下面是解我发现,使用ASP经典:
<%
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
%>
简单的解决方案:。嵌入在下载网址一次性令牌一旦令牌的使用,您记录它作为使用,决不允许它再次使用 –
@Marc B,我想理解你的想法...可以哟你举个例子吗?也许我可以获得更多信息的链接?谢谢! – Guybrush
@Paruba在你的数据库中存储了一些唯一的关键字(token),然后在你提供的链接(建议将它编码为[tag:Base64])时将它用作QueryString参数,当用户通过令牌访问页面时您可以通过调用数据库来检查它,然后禁用它(删除或归档它)。这种方法的美妙之处在于,你也可以做一些事情,比如允许一定数量的下载,然后禁止,所有这些都是通过根据你的令牌存储一些元数据,比如'download count','last download'(datetimestamp)......可能性是无止境的。 – Lankymart