我正在为WordPress开发一个投票投票插件。在我的投票民意调查中,我试图添加一些限制方法来避免多次投票,例如通过IP限制和通过cookie限制。我通过IP创建了限制。
但是现在我试图通过cookie添加限制。我知道这是一个简单的过程。但我的问题是用户可以在小部件或帖子中添加无限轮询。据我所知,从一个网站浏览器可以节省20个cookie。
这意味着如果我添加20个民意调查,它将创建20个cookie。如果管理员创建超过20个民意调查,则需要超过20个cookie。结果它不起作用。
请告知我在这种情况下我该怎么办。
答案 0 :(得分:1)
您可以使用base64编码的JSON序列化将所有民意调查存储在一个cookie中。
假设您对存储在数组中的民意调查投票:
$polls = array(
1 => 1,
2 => 2,
3 => 3
);
您可以使用以下命令在单个Cookie中编写这些:
setcookie('polls', base64_encode(json_encode($polls)));
同样,您可以通过以下方式阅读Cookie:
$polls = json_decode(base64_decode($_COOKIE['polls']));