1

我写了一个留言板作为我的第一个 ASP.NET 项目。到目前为止,它似乎运作良好。但是,我拥有的功能之一是每封邮件都有垃圾邮件评级。它只是查看者将邮件标记为垃圾邮件的次数除以查看邮件的总次数。这个想法是允许用户在他们选择这样做时忽略具有高垃圾邮件评级的邮件。

然而,整个系统可以被垃圾邮件发送者简单地查看他自己的消息并刷新很多次,这将增加消息被查看的次数。连续多次将邮件标记为垃圾邮件的人也可以阻止它。我需要一种方法来确定特定访问者是否已经查看了特定消息,以及确定特定用户是否已经将特定消息标记为垃圾邮件的方法。

我不想要求注册 - 我希望任何人都能够查看或发布消息。我一直在考虑的两个想法是,当访问者进入网站时设置一个 cookie,以便我可以跟踪他们,或者创建一个新的数据表,在用户查看邮件或将其标记为垃圾邮件时记录用户的 IP 地址。其他人能想出更好的方法吗?.NET 是否有任何内置功能可以帮助我确定访问者是否是第一次查看页面?

4

3 回答 3

3

最可靠的措施是 IP 地址过滤,因为垃圾邮件发送者可以通过编写自己的程序来请求页面来规避任何其他方法。它会影响您在 NAT 后面的客户端,但对于垃圾邮件过滤目的,它工作得很好。

于 2009-03-04T17:10:54.877 回答
0

ASP.Net 有一个名为的内置功能Personalization,可用于检测和记住匿名用户以及普通的“注册”用户。

于 2009-03-04T17:20:31.483 回答
0

对于匿名用户,请使用 IP。这会产生误报,特别是对于某些互联网提供商而言,但对于您的场景来说,这似乎是一个不错的权衡。我也会让用户更容易被识别,open id 是一个很好的方法。

于 2009-03-04T17:33:53.760 回答