我在.net 2.0上有一个C#Web应用程序托管在服务器A上.Web应用程序允许用户使用<input id="File1" name="filMyFile" type="file" runat="server" />上传文件到服务器A.这一切都运行正常。

我现在被要求修改Web应用程序以允许A提供的页面直接上传到服务器B,而不会在A上暂时存储任何信息。

出于安全考虑,我被要求这样做。我在考虑可能使用iframe并让服务器B只托管使用SSL包装请求的上传部分。我并不完全确定这样做对安全性的影响,但是我看到一些网站在其登录控件中,他们SSL只包含一个包含登录部分的iframe,而其他网站的安全性是不安全的。

这是一件好事吗?有人可以推荐更好的方法吗?也许建议一个基本的架构。

有帮助吗?

解决方案

我使用了iframe方法,其中带有上传表单的iframe代码托管在服务器B上。它工作得相当好。如果需要,您还可以在服务器B上托管整个页面。

其他提示

为什么不将form操作设置为服务器B上的SSL安全页面?

<form method="POST" action="https://serverb/uploadmanager.ashx" ...>

您也可以将文件直接写入SQL数据库。从安全角度来看,我更喜欢这种方法,因为文件永远不会存在于服务器硬盘上。然后可以在两台服务器之间共享它。

另一方面,对未首先写入磁盘的文件进行AV扫描更加困难。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top