如何避免在我的PHP网站上投票垃圾邮件

时间:2012-02-23 02:43:08

标签: php

我正在我的网站上做投票系统。

访客无需登录即可投票支持他们喜欢的产品。但是,如何防止他们多次点击一个产品的喜欢或不喜欢按钮?

我打算检测访问者的IP地址,以避免投票垃圾邮件。这是一个好方法吗?

感谢您的任何建议!

3 个答案:

答案 0 :(得分:4)

不,这不是一个好方法。 IP可以通过代理来实现 - 例如大学和大型企业。

您可以存储Cookie,但这很容易被规避。

简明扼要的答案是,控制投票应该通过登录处理程序处理,而不仅仅是对公众开放。但是,如果你确实想让它对公众开放,那么你必须接受这个决定可能带来的大量不良。

我至少会使用cookies。除非有正当理由,否则很多人都不会只是为了游戏投票系统而清除cookie。

答案 1 :(得分:1)

为记录用户创建数据库表。 Colums看起来像那样

ID | IP  | Browser  

ID将是自动递增值

使用以下功能获取IP(当然,这不是100%可靠的方式。)

 function getIP() {
    if (!empty($_SERVER['HTTP_CLIENT_IP'])) { //check ip from share internet
        $ip = $_SERVER['HTTP_CLIENT_IP'];
    } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { //to check ip is pass from proxy
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    } else {
        $ip = $_SERVER['REMOTE_ADDR'];
    }
        return $ip;
}

使用Javascript浏览器。你可以通过ajax发布到php端。 (我们这样做是为了提高检测的可靠性。)

每当用户尝试投票时,请检查此表。您可以搜索浏览器和IP。如果num_rows> 0,则阻止(通知访问者)投票。

答案 2 :(得分:1)

如果不是登录/ IP,可能有一个cookie并在投票时设置它。