情况如下:
CF应用程序需要将文件上载/写入不同服务器上的位置。这些服务器由需要授予应用程序上载/读取/更新文件权限的客户所有。
为防止安全漏洞,每位客户都会提供一个唯一的用户名和密码,该密码应与<cffile>
函数一起传递。客户将提供UNC文件夹路径以指定文件应上载到的位置。当然,所有这些都将存储在数据库中。这是一个理论上的例子:
<cffile action = "upload"
fileField = "DocumentUploaded"
destination = "\\servername\salesdept\files"
accept = "text/html"
username = "#rsCustomer.Username#"
password = "#rsCustomer.Password#" />
据我所知,ColdFusion传递了CF服务正在使用的用户名,但在这种情况下这并不安全。有人可以轻松直接进入destination
字段,传入CF服务凭证并访问任何客户的文件。
我怎样才能尝试解决这个问题?