PHP服务器选项和投票系统

PHP服务器选项和投票系统,php,vote-up-buttons,Php,Vote Up Buttons,我目前正在创建一个网站,允许匿名用户将数据或评论输入数据库,并允许该网站的其他匿名用户对该网站上的评论进行投票 我已经创建了允许用户创建评论并允许其他用户对评论进行投票的功能。但我现在的问题是,我如何限制网站的每位访问者对每条评论只进行一次投票 我的想法是在用户投票时创建一个会话ID,然后在他们再次尝试投票时尝试比较会话ID是否已经存在。这将起作用,但只能在会话被销毁之前。有人对如何实现这一目标有其他想法吗 我假设我可以使用一些可用的$\u服务器选项 提前感谢仅限制使用IP或Cookie进行投票

我目前正在创建一个网站,允许匿名用户将数据或评论输入数据库,并允许该网站的其他匿名用户对该网站上的评论进行投票

我已经创建了允许用户创建评论并允许其他用户对评论进行投票的功能。但我现在的问题是,我如何限制网站的每位访问者对每条评论只进行一次投票

我的想法是在用户投票时创建一个会话ID,然后在他们再次尝试投票时尝试比较会话ID是否已经存在。这将起作用,但只能在会话被销毁之前。有人对如何实现这一目标有其他想法吗

我假设我可以使用一些可用的$\u服务器选项


提前感谢

仅限制使用IP或Cookie进行投票,我还创建了3个网站,我必须在其中进行公开投票,之前我使用IP进行投票,但后来我改回了Cookie,我还保存了IP以及设置Cookie,以检查用户是否一次又一次地删除Cookie进行投票,但是我从来没有遇到过这样的问题,所以我的意见是,只使用cookies,因为不是每个人都能发现我们使用cookies。当您为特定文章插入评论时,请存储评论id或名称或任何独特内容的成员。在插入注释之前输入验证码

Select * from articles where member_commented_id = [current_member_id_from_querystring) and article_id = member_commented_on_article_id

//a check point
if result is > 0 .. its mean member already has commented on this article

//otherwise
add comments on article and insert member id as well for checking

// if you are using seperate table for comments then you have to make additional field in table like

comment_id, comment, com_date, member_id_who_commented, article_id_on_which_commented
设置IP或Cookie检查点不可靠,因为如果设置为动态IP,则ISP会更改IP,并且访客可以清除Cookie


希望这能帮助您

在匿名用户系统上实施一票策略是不可能的。正如上面评论中所说:

试图控制匿名几乎是不可能的。IP是共享的, 会话是临时的,可以删除cookie

你不能100%地确定你的客户,如果用户愿意,他将能够绕过你试图使用的任何手段,并多次投票

你唯一可靠的选择是强制注册,只允许注册用户投票


如果您仍然坚持,您可以尝试让用户难以绕过您的强制系统。使用用户IP地址和持久cookie的组合,并对两者进行交叉验证,以确保用户不会进行两次投票。但请再次注意,用户可以轻松删除Cookie,并且在大多数情况下,可以更改其IP地址。

我假设您已经尝试了一些方法?试图控制匿名几乎是不可能的。IP是共享的,会话是临时的,Cookie可以删除。当我说匿名时,我的意思是我没有获得关于用户的信息,因此无法识别一个用户和另一个用户,即通过loginI知道你的意思,但它归结为:没有唯一标识符,没有唯一限制。可能重复欢迎堆栈溢出!请正确格式化您的代码。通过在任何代码行之前缩进4个空格插入代码块。这次我已经为您格式化了代码,但下次请正确格式化。如需进一步帮助,请参阅“是?”?我可以更改我的IP并删除Cookie。我已经在很多网站上做了一百万次了。永远不要相信你的用户!幸运的是,这只是一个小网站,所以我认为这就足够了,另外,如果他们真的努力改变IP和删除cookies,那么也许他们应该能够投票两次:谢谢,幸运的是,这只是一个小网站,所以我认为这就够了,另外,如果他们真的去努力改变IP和删除cookies,那么也许他们应该能够投票两次:谢谢