php
  • mysql
  • 2016-03-21 44 views 0 likes 
    0

    我正在嘗試爲每位獨特訪客構建一個熱門計數器。但我無法弄清楚如何讓每個用戶都擁有唯一的IP地址,並且同時阻止該用戶刷新頁面100次併發送垃圾郵件到我的匹配表中。如何使用熱門計數器獲得唯一身份訪問者IP並防止計數垃圾郵件

    每個頁面都有,我開始使用$ _GET [「別名」]

    唯一的別名,我得到了該查詢的命中:

    $click = "SELECT hits FROM snm_content WHERE alias = '".$conn->real_escape_string($_GET['alias'])."'"; 
    

    每次用戶訪問一個頁面,我想該計數器具有與訪問的頁面相同的別名以添加1.並檢查垃圾郵件。

    達到此目的的最佳方法是什麼?

    +2

    你不能依靠IP來區分訪問者 企業將擁有一個獨特的IP公共地址與1000名員工,你會認爲所有這些作爲一個獨特的用戶? –

    +0

    是否要爲每個用戶計算單個頁面或所有頁面?因此,如果用戶使用ip x access page1和page2是否要計數2次或只計算一次? –

    +0

    您的SQL查詢容易受到SQL注入的影響。 – Techie

    回答

    1

    是否有任何理由使用IP地址來識別您的訪客?

    如果不是,您可以使用用戶第一次訪問您的網站時設置的cookie。

    從那時起,您可以在每個頁面上檢查用戶是否有cookie(如果沒有,請設置它),然後檢查帶有該cookie的電腦是否已經在該頁面上。這是我能想到的最簡單的解決方案。

    +0

    所以我必須將cookie值或會話值保存在數據庫中?比較它。 – twan

    +0

    是的!那笏你檢查每臺電腦,而不是IP,可能會超過一臺電腦。 – Maaikebrwr

    相關問題