我在带有 IIS6 的 Windows 2003 服务器上使用 perl。我编写了一个脚本,需要访问用户上传的机密文件。这些文件存储在 cgi-bin 的文件夹中。但是,我不希望通过网络链接访问这些文件。因此,我对 IIS 中禁用的这个特定文件夹具有“读取权限”。
这些文件无法通过网络链接访问,但我需要用户能够打开他/她上传的文档。
用户登录信息(用户名和密码)存储在 cgi-bin 的 csv 文件中。
我已经搜索了数据库,但找不到与这种情况完全匹配的任何内容。
任何想法将不胜感激!
除非我误解了您的问题,否则您试图在应用程序级别而不是服务级别限制用户访问。
如果您希望您的网络应用程序的用户能够访问他们上传的文件,那么您的授权检查需要在应用程序中完成,而不是在边缘(通过网络服务器)。
因此,每个上传的文件都标有它的所有者(数据库记录或每个所有者的目录),并且对文件的访问受到一小段代码的限制,该代码将经过身份验证的用户与文件所有者进行检查。
Web 服务器用户可以读取和写入文件所在的目录,因为这是 perl 将运行的用户,但它没有配置到 IIS 中,因为它可用于常规 HTTP GET 访问。它既不在 HTML 文档根目录下,也不在 CGI-BIN 目录下。它是一个完全独立的目录。