我正在使用旧的经典ASP网站,并且有一个目录,其中包含一些PDF文档。有没有办法阻止用户通过直接链接(www.example.com/example.pdf)访问所述pdf文档,直到他们登录为止?如果是这样,我该怎么做呢?
答案 0 :(得分:0)
ASP是否具有成员资格提供程序中的内置提供程序,该成员资格提供程序通过该目录中的web.config中的几行来控制访问
http://msdn.microsoft.com/en-us/library/yh26yfzy%28v=vs.80%29.aspx
答案 1 :(得分:0)
Microsft的以下文章解释了如何使用传统ASP保护对某些页面的访问。
How To Use Simple ASP Code to Password Protect Your ASP Pages
以下是一些适用于ASP.NET的其他链接,但也许您可以在经典ASP中使用相同的想法。
Thread: How do I password protect a sub folder of my website, to deny anonymous access?
答案 2 :(得分:0)
我认为您的网站已经有了登录基础设施。
如果不是,你应该首先添加它http://www.evolt.org/node/28652
然后创建页面并将其放在要保护的资源的位置。例如。将http://youwebsite.com/dir1/dir2/file.pdf
替换为http://yourwebsite.com/dir1/dir2/getfilepdf.asp
。
在新脚本中检查用户是否已完成登录,如果没有将其发送回登录页面。
如果用户经过了正确的身份验证,请阅读该文件并使用Response.BinaryWrite
将其返回到浏览器。
网上到处都是样品。读这个| http://support.microsoft.com/kb/307603
答案 3 :(得分:0)
列出文档的页面上的密码保护不会阻止直接访问文档。例如,如果您的文档按文件夹视图列出或从任何网页链接,则地球上的每个搜索引擎和蜘蛛都已知道文档在您网站中的位置。所以这就是你能做的......
首先将文档文件夹移动到根级别以下,然后使用FileSystemObject传递文档。对于超过2-4 Mb的文件,您应该以“块”形式提供它们。
现在,您可以向下载脚本添加条件,以验证用户的登录状态或重定向到登录。您的评论链接现在看起来像:
http://somesite.com/load-pdf.asp?id=mydocuent.pdf
如果您按文件夹视图提供文档列表,则仍可以使用FileSystemObject执行此操作。