繁体   English   中英

保护经典 ASP 网站中的静态文件

[英]Protect static files in Classic ASP website

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

该网站以集成管道模式托管在 IIS 7 上。

你已经问过了,我已经回答了,我也会给你同样的答案。

您将需要使用BASIC AUTHENTICATION来限制对 IIS (Classic ASP) 中静态文件的访问。 否则,您需要以另一种格式保存静态内容并对其进行加密,并且只有通过您的程序验证的人员才能查看它。

请不要再问这个,答案不会不同。

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

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

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

更新:通过 ASP 加载图像的答案在这里—— 用经典的 asp 显示来自 sql 数据库的图像......参见“HeavenCore”的底部答案,而不是Response.BinaryWrite rs("ImageBlob") ,获取二进制文件图像到您的变量中,例如:BinaryImageData 并执行Response.BinaryWrite BinaryImageData

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM