2011-06-22 198 views
1

我目前有一個建立在PHP中的網站,我希望今晚能建立一個推薦系統。推薦系統

我的理論是,如果我動態生成一個URL,並把它放在我的用戶的主頁,如

‘推薦URL = www.mysite.co.uk/referral.php?user=myuser’

然後,我可以在頁面referral.php獲取用戶名並運行sql查詢更新其表中對應的行的腳本。

唯一的是任何人都可以添加自己的名字和註冊多個帳戶。

什麼是最好的方式去建設這樣的事情?

感謝


假設得到的推薦網址我的用戶必須點擊,同時一個按鈕,生成的推薦網址爲蘭特即mysite.com/refer.php?user=234234,將它存儲在數據庫中。

一旦有人訪問了頁面refer.php,然後引用者將他的信用或好處添加到他在db中的行中,同時將他的引用代碼設置爲0,使代碼僅可用一次。

每次他點擊他的頁面上的按鈕時,他的代碼都會改變。

你認爲這有效嗎?

+1

編輯我的答案來回答你的編輯。 (幾乎是一個迴文,那裏...) –

回答

2

您一般都有正確的想法,但在轉診系統中防止欺詐是困難的。您可以檢查$ _SERVER中的唯一IP地址並將其添加到數據庫中,以避免重複或限制來自不是來自注冊用戶的IP地址的推薦人。像HTTP_REFERRER一樣,這也可以很容易被欺騙(例如使用TOR)。

這是一個棘手的問題,不是你可以真正「解決」的問題。像大多數欺詐案件一樣,您只能盡力減輕影響。

編輯添加:您也可以要求推薦使用「成熟」,方法是強制推薦用戶在網站上活躍一段時間(比如30天)以增加垃圾郵件發送者/作弊者的工作量。但是,這並不能「解決」問題 - 你所能做的就是讓他們更難以對遊戲進行遊戲。偶爾,通過這樣做,你可能會毀掉用戶體驗。那麼你如何平衡它呢?棘手的問題。 :)

編輯以滿足您編輯:考慮以下情況下,如果我們實施你的計劃:

1)我按一下按鈕,讓我的代碼。然後我將它粘貼到......究竟是誰?一個人?這對Facebook,MySpace分享(這是否存在?)或我的個人博客並不是特別好。我必須爲我發送給該網站的每個人生成推薦代碼?這不僅嚴重縮小,而且也是一種可怕的用戶體驗。

2)假設我弄清楚你在做什麼。我開發了一個可以點擊4萬億次按鈕的機器人。現在怎麼辦?

+0

這是太真實。我現在正在玩一個排名系統(圖片投票),擁有超過1200個「獨一無二」的投票記錄,該投票由一個人運行。假設什麼都沒有,除非你能驗證用戶(即登錄,密鑰等)。 –

+1

當然。還進行了一些編輯以提供一些關於防止欺詐的其他想法。但是如果信息/產品/服務對至少一個人來說足夠有價值,他們就會知道。記住:你與最低的共同標準競爭。僅僅因爲你永遠不會花20個小時寫博客來打敗你的網站,並不意味着有0.50美元/小時賺錢潛力的人不會認爲這是個好主意。 –

-1

您可以將這些信息嵌入到POSTDATA中 - 這樣更安全。 或者您可以添加一項限制,任何用戶只能由其他任何EXISTING用戶僅維護一次。爲了使其更「安全」,使用隨機種子生成用戶標識。

0

您可以使用'HTTP_REFERER'值來檢查請求來自哪個頁面,並且只允許來自其頁面的該用戶的投票。這可能被欺騙,但大多數人不知道如何。

+0

這個想法是,用戶會採取這個網址,並將其張貼在網絡上,所以我不這樣做,這將是一個有效的選項,不幸的是 – Liam

0

您可以爲您的網站上的一些額外操作計算推介分數,例如註冊或付款或驗證卡背後的任何操作。

但是不要爲您的常規合法用戶構建任何障礙!