请问不用global.asa能否控制用户不重复投票

qeizi 2002-12-03 03:34:10
请教各位高手,如何能控制用户重复投票,情况是不用global.asa能用cookies和session,当然也能查到ip但如果是局域网就不好,因为同一局域网用的是一个ip。请教。。。。。
...全文
29 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
julyclyde 2002-12-05
  • 打赏
  • 举报
回复
ip,cookie,global,都不行
唯一可行的就是数据库
hf23 2002-12-04
  • 打赏
  • 举报
回复
GZ
qeizi 2002-12-04
  • 打赏
  • 举报
回复
IP自然是可以记下来的,但同一个通过局域网上网的人如果投票那岂不是完了,一个人投了,那整个局域网都用一个IP,岂不是都得等半个小时才能投票了。
iStringTheory 2002-12-03
  • 打赏
  • 举报
回复
当然可以

你将投票者的ip记录下来,投票时进行检查即可

-----------------------------
千年精灵( Millennium Genius )
qeizi 2002-12-03
  • 打赏
  • 举报
回复
不注册的。
julyclyde 2002-12-03
  • 打赏
  • 举报
回复
有用户名的话,直接把投过票的标志记到数据库里
qeizi 2002-12-03
  • 打赏
  • 举报
回复
但是如果不同的人在同一个网吧上网投票怎么办?一个人在这边投了之后你记了IP,那另外的人岂不是是等半个小时才行?我现在改用http_cookies但不知行不行,测试中.....
awaysrain 2002-12-03
  • 打赏
  • 举报
回复
其实没有很好的办法控制重复投票
总是要作出一些牺牲的
要么登记,要么记录IP等资料……
LoneHome 2002-12-03
  • 打赏
  • 举报
回复
你已经记录了该IP上次投票的时间,如果再次提交,把它这次的提交时间比较一下,如果差30分钟以上(具体时间自己改)就可以投票并改写SESSION里的上次投票的时间,否则不允许投票
qeizi 2002-12-03
  • 打赏
  • 举报
回复
但是客户如果是通过局域网上网,那就整个网吧只有一个IP,这样怎么行呢?
LoneHome 2002-12-03
  • 打赏
  • 举报
回复
用SESSION。
存储客户IP和上次投票的时间,由此判断投票的有效性
kuzi 2002-12-03
  • 打赏
  • 举报
回复
在表单页,设置一个隐藏值<input type="hidden" name="type" value="add">和session(“xxx")=1
在递交的页面判断type="add" and session("xxx")=1时,加1
如果不是,就不加,然后再把session("xxx")=2,这样就防止重新递交了!
standy 2002-12-03
  • 打赏
  • 举报
回复
Cookies是个不错的解决之道,但我认为没有方法可以根本避免重复投票的
coo_key 2002-12-03
  • 打赏
  • 举报
回复
写cookies到硬盘,或者登陆后才可以投票等,
还有很多方法
qeizi 2002-12-03
  • 打赏
  • 举报
回复
请各位高手赐招啊,我看CSDN的调查就是用的免注册,但又防住了重复投票的啊。
awaysrain 2002-12-03
  • 打赏
  • 举报
回复
每种方法都有一些缺点
鱼与熊掌不可兼得,采用那种方式自己选择吧
qeizi 2002-12-03
  • 打赏
  • 举报
回复
但关键是不想是登记啊,然后session我也知道怎么用,但关键是同一机子不能重复在半个小时内或一个小时内投票啊。
meizz 2002-12-03
  • 打赏
  • 举报
回复
用session就可以了.session并不需要global.asa存在.
在他投票的时候判断他的session变量是否为空, 为空则让他投票,投票后就对这个session变量赋值; 不为空即他已经投过票了.
par 2002-12-03
  • 打赏
  • 举报
回复
叫他登记后再投票

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧