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