1

在我们的一个项目中,我们遇到了随机会话超时问题。根据最近的发现,我注意到 Sitecore Analytics.Robots.SessionTimeout 可能是导致它的原因。

我们注意到在随机会话超时时,超时值设置为 1 分钟而不是我们的 120 分钟。

在搜索所有配置文件后,我们注意到只有一个配置的超时设置为 1 分钟。

我们认为通过将分析机器人会话超时增加到 120 分钟将解决我们的随机超时问题,但我的问题是,通过允许机器人会话存活 120 分钟而不是 1 分钟,这是否会对性能产生任何负面影响或安全问题?

谢谢你的建议。

4

3 回答 3

2

这对我来说似乎是一个不同的问题......我认为机器人设置为 1 分钟会话不是问题。你说这个问题是“随机的”,但有没有可能真正发生的事情是一些网站访问者被错误地识别为机器人?

我认为您不会通过更改机器人超时时间看到任何性能影响,但这将是治疗症状而不是找到真正的原因。

于 2012-06-19T21:55:27.150 回答
2

我已经用 Sitecore 记录了这个问题,这是他们对这个问题的回应。

我不认为该行为应被视为错误,因为 Sitecore CMS 旨在与 ASP.NET WebForms 技术一起使用。在使用 Web 表单时,机器人检测依赖于页面中的控件。不能在 ASP.NET MVC 应用程序中使用它是很自然的,但是有一个简单的解决方案 - 将以下代码放入元素中:

<%
if (Context.Diagnostics.Tracing || Context.Diagnostics.Profiling)
{
  Response.Write("<!-- Visitor identification is disabled because debugging is active. -->");
}
else if (Tracker.IsActive && (Tracker.Visitor.VisitorClassification == 925))
{
  Response.Write("<link href=\"/layouts/System/VisitorIdentification.aspx\" rel=\"stylesheet\" type=\"text/css\" />");
}
%>
于 2012-09-29T00:11:34.453 回答
0

这发生在我们身上是因为跟踪预防和广告拦截器阻止了Sitecore 的机器人检测组件( VisitorIdentification.js) 检测人类行为。

为了防止登录用户被错误分类为机器人,我们添加了以下登录后代码,以将任何错误分类的访问者标记为人类:

using Sitecore.Analytics;
using Sitecore.Analytics.Core;

// ...

private static void IdentifyUserAsHuman()
{
    const int HumanVisitorClassification = 0;

    var currentSession = Tracker.Current.Session;
    var isClassifiedAsHuman = ContactClassification.IsHuman(currentSession.Contact.System.Classification);
    if (!isClassifiedAsHuman)
    {
        currentSession.SetClassification(HumanVisitorClassification, HumanVisitorClassification, true);
    }
}
于 2021-05-06T00:35:22.407 回答