我想創建一個「like」按鈕。只是,我希望每個人都沒有賬號,「喜歡」一篇文章。用Laravel創建像Cookies和表格的按鈕
在我的文章的表中,我可以添加一個「喜歡」字段和Ajax,增加字段+1?
它會造成安全問題嗎?
爲此使用cookie是個好主意嗎?
非常感謝你
我想創建一個「like」按鈕。只是,我希望每個人都沒有賬號,「喜歡」一篇文章。用Laravel創建像Cookies和表格的按鈕
在我的文章的表中,我可以添加一個「喜歡」字段和Ajax,增加字段+1?
它會造成安全問題嗎?
爲此使用cookie是個好主意嗎?
非常感謝你
僅使用cookie的保護很容易繞過。一個人或某種機器人能夠爲每篇文章提供大量的「贊」。
您可以阻止根據用戶的IP給予多個「喜歡」的正確性。所以基本上創建另一個表格,如:
"article_id"
"user_id" (nullable)
"ip" (nullable)
對於註冊用戶只需填寫user_id字段。對於annonymus用戶填充ip字段,並在向數據庫添加新記錄之前檢查是否存在具有給定IP的記錄。在你的模型喜歡
使用相對容易算來:
$this->likes->count();
有了cookie數據可以簡單地進行等,但是攻擊者清除瀏覽器的歷史,讓更多像那篇文章。 製作一些技巧,比如將IP地址或MAC地址插入到數據庫中,但它也有一些錯誤,因爲它們會更改代理IP併爲此添加類似的內容。 簡單的解決方案就像來自社交網絡,如谷歌喜歡或Facebook like.This將是一個獨特的喜歡那篇文章。 我認爲這會對你有所幫助。 如果在我的答案中有任何錯誤,我表示歉意。
感謝您對這種反應。我明白如何打破這個問題。這是一個很好的解決方案,我沒有想過以這種方式存儲IP。 – Jeremy