保护Classic ASP网站中的静态文件

时间:2014-09-25 11:21:29

标签: security asp-classic protection static-content

我想从未经身份验证的用户保护静态文件(图像,.txt文件)。如何对网站实施用户身份验证,以便特定文件夹中的静态文件也受到保护?我在login.asp文件中使用了简单身份验证,并为经过身份验证的用户启动了会话,并检查了受保护.asp文件的会话值。但我不知道如何在Classic ASP网站上保护静态内容。

该网站托管在具有集成管道模式的IIS 7上。

3 个答案:

答案 0 :(得分:0)

你已经问了这个,我回答了,我会给你相同的答案。

您需要使用BASIC AUTHENTICATION来限制对IIS(经典ASP)中的静态文件的访问。否则,您需要以其他格式保存静态内容并对其进行加密,并且只能由程序验证的人员查看。

请不要再问这个问题,答案也不会有所不同。

答案 1 :(得分:0)

如果使用Basic Authentification不是你的一杯茶,一种可能性是用ASP文件替换你的静态文件,经授权后,将输出正确的文件。如有必要,可以将Response的ContentType设置为适当的类型。链接http://support2.microsoft.com/kb/173308向您展示如何使用存储在数据库中的图像来执行此操作,但当然,您可以将任何您想要的内容作为文件的源。对于.TXT文件,您甚至可以直接获取文件,只需在开头添加一小段ASP代码即可进行检查。

所有这些都需要额外的工作。如果没有额外的工作,就无法使用静态文件的会话状态简单地激活某种保护。

答案 2 :(得分:0)

老问题,但是 -- 大多数安装了 Classic Asp 的 MS 服务器都有几个默认文件夹,除了通过 ASP 之外,这些文件夹无法访问。它们是 /bin /app_code /app_data ,可能还有其他的。这取决于您的托管公司。默认情况下,Windows 10 IIS(他们精简的开发和测试套件)会锁定这些。使用 ASP 代码检索和显示文本和 html 非常容易,但我不确定如何处理图像。如果您的流量非常低,一种方法是将图像文件复制到一个未锁定的文件夹并为其指定一个随机名称,然后在 IMG 标签中正常访问它,然后在使用后将其删除。 (我来这里是为了寻找更好的方法)。

更新:通过 ASP 加载图像的答案在这里 -- displaying images from sql database with classic asp ... 请参阅“HeavenCore”的底部答案,而不是 Response.BinaryWrite rs("ImageBlob"),将图像的二进制文件放入您的变量中,例如:BinaryImageData 并执行 Response.BinaryWrite BinaryImageData