gpt4 book ai didi

asp.net - 数以百万计的匿名 ASP.Net 配置文件?

转载 作者:行者123 更新时间:2023-12-04 15:37:44 25 4
gpt4 key购买 nike

更新:我刚刚意识到我们正在使用谷歌迷你搜索来抓取网站,以便我们支持谷歌搜索。这势必会为每个爬网甚至每个页面创建一个匿名配置文件——这可能吗?

大家好,需要一些建议!

我们的网站每天收到大约 50,000 次点击,我们使用匿名的 ASP.Net 成员(member)资料/用户,这导致数百万(目前为 450 万)“事件”资料,并且数据库正在“爬行”,我们有一个夜间任务清理所有不活动的。

我们不可能有 450 万独立访客(我们县人口只有 1/2 百万),这可能是爬虫和蜘蛛造成的吗?

另外,如果我们必须忍受如此大量的配置文件,是否有优化数据库的方法?

谢谢

凯夫

最佳答案

更新以下对话:
我是否可以建议您实现一个过滤器,该过滤器可以通过请求 header 识别爬虫,并在当天晚些时候记录匿名 cookie。解密并删除带有关联 UserId 的匿名 aspnet_profile 和 aspnet_users 记录。
您可能正在打一场失败的战斗,但至少您会清楚地了解所有流量的来源。

AnonymousId cookie 和匿名配置文件在最后一次使用后的 90 天内有效。这可能导致匿名配置文件堆积。
一个非常简单的处理方法是使用 ProfileManager .

ProfileManager.DeleteInactiveProfiles(ProfileAuthenticationOption.Anonymous, DateTime.Now.AddDays(-7));
将清除过去 7 天内未访问的所有匿名配置文件。
但这会给您留下 aspnet_Users 中的匿名记录。 Membership不公开类似于 ProfileManager 的方法用于删除过时的匿名用户。
所以...
最好的选择是原始 sql 攻击,从您认为它们陈旧的 aspnet_Profile 中删除,然后在 aspnet_User 上运行相同的查询,其中 IsAnonymous = 1 .
祝你好运。一旦你把它清理干净,就留在上面。

更新更新:
下面的代码仅在 IIS7 上有效并且如果您通过 ASP.Net 引导所有请求
您可以实现一个监视对 robots.txt 的请求的模块。并获取匿名 id cookie 并将其存储在机器人表中,您可以使用该表每晚安全地清除机器人元的成员(member)/个人资料表。这可能会有所帮助。
例子:
using System;
using System.Diagnostics;
using System.Web;

namespace NoDomoArigatoMisterRoboto
{
public class RobotLoggerModule : IHttpModule
{
#region IHttpModule Members

public void Init(HttpApplication context)
{
context.PreSendRequestHeaders += PreSendRequestHeaders;
}

public void Dispose()
{
//noop
}

#endregion

private static void PreSendRequestHeaders(object sender, EventArgs e)
{
HttpRequest request = ((HttpApplication)sender).Request;



bool isRobot =
request.Url.GetLeftPart(UriPartial.Path).EndsWith("robots.txt", StringComparison.InvariantCultureIgnoreCase);

string anonymousId = request.AnonymousID;

if (anonymousId != null && isRobot)
{
// log this id for pruning later
Trace.WriteLine(string.Format("{0} is a robot.", anonymousId));
}
}
}
}
引用: http://www.codeproject.com/Articles/39026/Exploring-Web-config-system-web-httpModules.aspx

关于asp.net - 数以百万计的匿名 ASP.Net 配置文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2764395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com