【问题标题】:Protect static files in Classic ASP website保护 Classic ASP 网站中的静态文件
【发布时间】:2014-11-20 03:40:57
【问题描述】:

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

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

【问题讨论】:

    标签: security asp-classic protection static-content


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢 Zee。我的登录页面为用户创建了一个会话,如果会话处于活动状态,我会检查每个 asp 页面。但是 Baisc 认证是如何知道我使用会话变量进行认证的呢?
    • 您不能直接保护带有会话状态的静态文件。您需要构建自己的文件系统,以便您可以根据自己的喜好控制身份验证。否则,系统级文件保护的基本身份验证。
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      老问题,但是——大多数安装了 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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-12-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-29
        • 2021-05-20
        • 1970-01-01
        相关资源
        最近更新 更多