2009-03-04 62 views
1

我寫了一個留言板作爲我的第一個ASP.NET項目。目前它似乎運作良好。不過,我擁有的功能之一是每封郵件都有垃圾郵件評級。這僅僅是觀衆將郵件標記爲垃圾郵件的次數除以郵件被查看的總次數的次數。這個想法是允許用戶忽略垃圾郵件評級較高的郵件,如果他們選擇的話。每個唯一訪問者只提供一次功能

但是,整個系統可以被垃圾郵件發送者簡單地查看自己的消息並刷新一次,這將增加消息被查看的次數。它也可能被一連串的垃圾郵件標記爲垃圾郵件的人所挫敗。我需要一種方法來確定某個訪問者是否已經查看了特定的消息,以及確定某個特定用戶是否已將特定消息標記爲垃圾郵件的方法。

我不想要求註冊 - 我希望任何人都能夠查看或發佈消息。我一直在考慮的兩個想法是當訪問者訪問站點時設置一個cookie,以便我可以跟蹤它們,或者創建一個新的數據表來記錄用戶在查看郵件或將其標記爲垃圾郵件時的IP地址。其他人能想到更好的方法嗎? .NET是否有內置的功能可以幫助我確定訪問者是否第一次查看頁面?

回答

3

最可靠的措施是IP地址過濾,因爲垃圾郵件發送者可以通過編寫自己的程序來請求頁面來繞過任何其他方法。它會影響NAT後面的客戶端,但爲了垃圾郵件過濾目的,它工作起來很不錯。

+0

垃圾郵件發送者也可能欺騙IP地址,導致IP過濾無效。你也會失去一個nat後面的人。 – JoshBerke 2009-03-04 17:16:58

+0

這是不太可能的,並且更難。這始終是問題。你必須犧牲:)我見過的任何垃圾郵件過濾機制都有誤報。 – 2009-03-04 17:20:16

+0

這是一個小團體的共同興趣相似的人的留言板。我不希望遇到大量的用戶將從同一個NAT後面查看相同的消息,所以我認爲IP選項將會最好,至少現在是如此。感謝大家爲你輸入。 – 2009-03-04 17:36:38

0

ASP.Net有一個名爲Personalization的內置功能,可用於檢測和記住匿名用戶以及普通「註冊」用戶。

0

對於匿名用戶使用IP。這會給誤報,特別是對於一些互聯網提供商,但它看起來像一個體面的權衡你的情況。 我也會讓用戶很容易識別,開放標識是一個很好的方法來做到這一點。

相關問題