我正在开发一个民意调查网站,我只希望选民投票一次。这是一个3阶段的过程。第一页是选择要投票的人,第二页是确认人(隐藏单选按钮提交投票),第三页是感谢页面。我想检查第一页和第二页上的cookie,并在第三页上写下cookie。我希望cookie在首次导航到网站后的两天内到期。我想重定向已经投票给cookie.htm的人(与其他所有文件夹在同一个文件夹中)你会怎么做?
答案 0 :(得分:0)
我认为它基于某个已知网站的电子邮件地址,并要求有人确认电子邮件地址可能是您最好的选择。
答案 1 :(得分:0)
我认为您最好的选择是进行注册过程并强制用户登录进行投票。正如评论中所提到的,你需要一些服务器方面的魔力。
答案 2 :(得分:0)
要使用Javascript设置Cookie,请将document.cookie
对象设置为[cookiename]=[cookievalue];expires=[expirydate]
格式的字符串值。在这种情况下,您似乎只需要设置一个cookie,任何cookie,所以可能只是“done = true”或其他任何内容。
// get today's date plus 2 days
var expiration = new Date();
expiration.setDate(expiration.getDate() + 2);
// add cookie "done=true" with expiration
document.cookie="done=true;expires=" + expiration.toUTCString();
要检查cookie是否已设置,请再次使用document.cookie
,这将返回以分号分隔的所有Cookie列表。过滤它以找到你的:
var myCookie = document.cookie.split(';').filter(function(item) {
return item.split('=')[0] == 'done';
});
如果设置了cookie,那么您可以进行简单的重定向:
if (myCookie.length > 0) {
window.location = "cookie.htm";
}
请参阅MDN以获取更多info on cookies。
强制性免责声明:显然 - 正如其他人所指出的那样 - 使用这种方法,用户可以在他们关心时作弊,因为任何人都可以清除他们的cookie并绕过校验。即使您认为没有人愿意,也可以在服务器上添加“健全性检查”,并阻止任何超过X次投票的IP地址。