Umbraco正在神奇地恢复到"Looks like there's more work to do"



我有一个客户,他报告了5/6次,网站不知何故恢复到了未发布模式。我们不确定是什么原因导致的,通常情况下,当没有人在网站上工作时,就会发生这种情况。他们确实有一些人过去有过,现在可能仍然有恶意要关闭网站(所以这也可能是一个问题)。

  1. Umbraco中是否存在已知的安全问题,用户可能会恶意发布整个网站?

  2. Umbraco中有任何漏洞可能导致这种情况发生吗?

  3. Umbraco是检查数据库中是否有已发布的标志,还是在选择显示"还有更多工作要做"消息之前只检查XML文件的存在?

您所指的消息存在于/install/noNodes.aspx文件中。

这将表明该网站或至少该网站的主页是未发布的。这表明有人或某个进程正在取消发布该网站或主页。首先,我会检查主页上"属性"选项卡中是否设置了"取消发布"日期。

还要检查Umbraco日志,以检查谁正在取消发布哪些节点以及何时取消发布。你还可以查看主页的审计历史记录,看看是谁编辑的。

如果你怀疑有恶意,那么在考虑Umbraco的安全问题之前,你需要确定自己的安全。您需要考虑更改服务器RDC、SQL的sa和任何Umbraco特定密码的密码。

Umbraco如果无法连接到数据库,将显示此页面。

在旧版本的Umbraco中,一旦发生这种情况,网站将保持这种状态,直到重新发布——这似乎已经修复(我不确定是哪个版本)。如果您正遭受这种情况的困扰,并且无法进行升级,那么解决方法是将以下代码放在/config/ssplates/noNodes.aspx的顶部:

<script runat="server">    
protected void Page_Load(object sender, EventArgs e)
{
Server.ScriptTimeout = 100000;
var cacheFile = IOHelper.MapPath("/App_Data/umbraco.config");
try
{
var r = XmlReader.Create(cacheFile, new XmlReaderSettings() { DtdProcessing = DtdProcessing.Ignore });
var d = new XmlDocument();
d.Load(r);
var n = d.SelectSingleNode("//root");
r.Close();
if (n.ChildNodes.Count == 0)
{
Response.Write("Republishing Site......");
Response.Flush();
}
else
{
Response.Write("Site Was Already Published......");
return;
}
}
catch (Exception ex)
{
Response.Write(ex.Message);
Response.Write("Cache missing, republishing.....");
Response.Flush();
}
Document.RePublishAll();
library.RefreshContent();
Response.Write("Completed");
Response.Flush();
Response.Redirect("/");
Response.End();
}
</script>

(这个代码最初不是我的——我不记得是从哪里得到的)。代码尝试重新发布网站,以便一旦数据库连接再次可用,网站就会恢复。

您可能还想编辑/config/ssplates/noNodes.aspx的内容,以向用户显示更合适的网站维护或错误消息。

您是否知道在您客户的网站遭受此影响期间有任何计划的数据库维护?如果没有,你可能需要看看他们的主机。

我会附和Digbyswift所说的一切,此外,网站页面是否在后台显示为未发布?如果它们仍然显示为已发布(即,它们没有变灰),但没有显示在前端,则可能有人在"属性"选项卡中设置了未发布日期。如果它变灰,则可能是有人通过后台实际发布的)。

如果它显示为已发布,但前端没有任何内容,那么cmsContentXml表也可能出现问题。出现这种情况时,请检查此表中是否有记录。如果没有,站点将认为它是空的,因为站点XML缓存是在站点启动时从该表重建的。如果桌子是空的,那么有人或某物正在清理不应该是空的。

如果您怀疑是恶意用户,请重置系统的所有密码(后台用户、AND数据库),并确保每个访问CMS的人都有自己的用户名和密码(并确保他们不知道彼此的详细信息),这样您就可以使用审计跟踪将更改锁定到特定用户。

相关内容

最新更新