c# - 磁盘访问的子域托管问题 (C#/ASP.NET 3.5)

标签 c# asp.net upload

这实际上不是一个非常复杂的场景,但是当我开始输入问题时,我意识到它可以在文本上变得多么复杂。让我试着说清楚:

首先,设置...

我有一个在我的主域 (www) 上公开面向的 C#/ASP.NET Web 应用程序,我们称它为 www.mysite.com。没什么特别的,只是一个连接到 SQL 以显示记录的前端。

然后,我有第二个 C#/ASP.NET Web 应用程序,它使用在子域上运行的表单例份验证来保护,我们称之为 admin.mysite.com。这是一个非常轻量级的 CMS 系统,用于管理公共(public)站点。

现在,问题...

这两个站点都可以很好地执行基本任务,但是,当我尝试访问文件系统以进行上传时,我的问题就出现了。我的虚拟主机需要子域作为 IIS 主应用程序下的虚拟目录运行(因此当您输入 admin.mysite.com 时,子域实际上解析/重定向到 www.mysite.com/admin),但正因为如此,我我无法从子文件夹写入我的网站根目录。

让我再解释一下......

CMS 系统(作为虚拟目录运行)使管理员能够上传照片以在主站点上显示,其目标文件夹是 www.mysite.com/images - 当尝试从根应用程序访问磁盘时,我可以写入虚拟目录,但不能做相反的事情——也就是说,从虚拟目录写入根目录,导致安全违规。如果我只能上传到/admin/虚拟目录,那整点就没有意义了,因为它是一个公众看不到的安全文件夹!

我能想到的唯一解决方案是将文件上传到/admin/虚拟目录,然后在根目录中调用一个 URL,将文件从/admin/移回根目录,但这完全是贫民窟。

我希望这篇文章有意义。还有其他人经历过这样的事情吗?底线是虚拟目录似乎只能访问它们自己,而不是它们的父目录,无论使用什么凭据。

谢谢!

最佳答案

与您的问题有些无关。

由于像您所说的那样,GoDaddy 不是一个很好的主机。我最近继续寻找主机并全心全意地推荐 JodoHost.com。

我写的一些帖子:
http://www.ocdprogrammer.com/post/2009/12/16/The-search-for-a-web-host.aspx http://www.ocdprogrammer.com/post/2010/01/03/JODOHostcom.aspx

但是,您所看到的行为对我来说似乎很正常。子域无法访问根域。虽然使用专用服务器可以克服这一点,但这是共享主机的缺点之一。

关于c# - 磁盘访问的子域托管问题 (C#/ASP.NET 3.5),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2144206/

相关文章:

iOS 6 Safari 图片上传 - 方向错误

c# - 将 Func 转换为委托(delegate)

c# - 在运行时使用和调用 SOAP Web 服务 - 来自 WSDL 文件的动态 Web 服务客户端

c# - 使 WPF TextBox 绑定(bind)触发每个新角色?

c# - 将值添加到将触发事件的下拉列表

c# - 将 Plupload 与 ASP.NET/C# 结合使用

java - App-Engine (Java) 文件上传

c# - 同时读取和写入文件

javascript - 当我使用 window.location.href 时,我的另一个函数没有调用。以下是我的 javascript 代码

ios - NSUrlConnection - 上传文件并发送 POST 参数