在Azure网站中,默认情况下,应用程序池是否对整个Web目录具有写入权限?

时间:2015-01-11 23:28:20

标签: azure-web-sites

我正在攻击一个全新的Azure网站,我对默认的ACL非常困惑。似乎应用程序池默认具有写访问权限。我做了一个简单的页面来测试这个:

<%@ Page Language="C#" %>
<html>
<head></head>
<body>
<h1>Testing Write Permissions</h1>
<p>In a typical IIS setup this throws <em>System.UnauthorizedAccessException</em>,
but it works in my new Azure Website. Does it work for you?</p>
<%
try {
    string path = HttpContext.Current.Server.MapPath("test.html");
    System.IO.StreamWriter file = new System.IO.StreamWriter(path, true);
    file.WriteLine("\n<p>" + System.DateTime.UtcNow + "</p>");
    file.Close();
    Response.Write("<p>I just wrote to <a href=\"test.html\">test.html</a>!</p>");
} catch (System.Exception ex) {
    Response.Write("<p>" + ex.ToString() + "</p>");
}
%>
</body>
</html>

在我的IIS上按预期引发错误,但是当我使用FTP将其作为caniwrite.aspx推送到我的干净,新的Azure网站时,它运行并且test.html显示编辑。别人看到这种行为吗?这是一个普遍的错误吗?我是否忽略了配置设置?你能解释一下这种行为吗?

(我认为将应用程序池的访问权限锁定为最佳做法仍属于最佳做法,因此它可以读取大部分网站,但只能写入app_data等几个地方。)

0 个答案:

没有答案