Somente Votar 1 Vez Por Conexão Numa Enquete
#1
Posted 07/04/2004, 09:23
Sei que uma idéia seria pegar o IP da pessoa que votou e registrar num banco de dados para quando esse IP for votar denovo de a mensagem que já votou. Mas e se uma pessoa que não votou, ao se conectar pega um IP que por conicidencia já votou?
Os IP são gerados aleatoriamente, então pode acontecer de uma pessoa se conectar com um IP que já foi gravado no banco de dados para ser bloqueado naquele dia.
Como resolver isso?
Cookie será?
#2 Whitesnake
Posted 07/04/2004, 13:23
eu usei:
system ("del $arquivo"); # pra win
system("rm [-r] $arquivo"); #pra unix
Agora um outro jeito axo q só usando cookies
#3
Posted 07/04/2004, 14:21
Como ?
1 - vc coloca no cookie o end de seu dominio, entao os votos so podem ser feitos de la.
2 - vc coloca um bloqueio em seu script que so deixa votar se a url concidir com a url do seu site.
3 - voce seta no cookie quando ele ira expirar.
Exemplo 24h 48h 3h 2m e por ai vai.
muito bom sempre uso cookie nos meus scritps
mas uso com seções.
print join'',(reverse map{/d([a-z])d/}split/W/,'$5x6@314&60f%3i4#moo^1r2#moo^1p2')," ", pack ("B*",'01110000011001010111001001101100')," ", pack ("B*",'011011010110111101101110011010110110010101111001'), "n";
sleep 5;
E-Mails, topicos ou mensagens privadas não serão respondidas a menos que eu considere uma relevancia/necessidade na mesma.
#4
Posted 08/04/2004, 08:43
E se uma pessoa votar e ir lá e apagar o cookie? Ela vai poder votar daí né?
#5 Whitesnake
Posted 08/04/2004, 11:15
#6
Posted 08/04/2004, 14:36
Usar cookies para garantir um único voto por IP no mesmo dia
ou
Restringir os IP que vão votando e assim que mudar o dia essa lista é apagada. (só que aí se uma outra pessoa, por coincidencia conectar com um IP que já votou vai dar err)
e ai galera? como vamos resolver isso?
#7 Whitesnake
Posted 08/04/2004, 15:31
if (length($atual) > $maximo){ # Se o comprimento do arquivo de IPs for maior q máximo permitido..
system ("del $iplog"); # Deleta o arquivo pra não encher o server
}
else {}
#8
Posted 12/04/2004, 10:07
É o que entendi. Poderia me explicar melhor?
Valeu
#9 Whitesnake
Posted 12/04/2004, 14:47
#10
Posted 12/04/2004, 16:15
usa cookie e ip, vc grava ambos e so retira ou apaga apos 24horas
assim ip repetidos nao irao votar...
de qualquer forma eh muito complicado impedir a votação assim.
vc pode usar sessões junto com o ip tb, veja mais
http://search.cpan.o...3.95/Session.pm
acho que o mais certo eh cookie com sessão pois vc pode armazenar e logar os ips com sessoes e marcar users com cookies.
print join'',(reverse map{/d([a-z])d/}split/W/,'$5x6@314&60f%3i4#moo^1r2#moo^1p2')," ", pack ("B*",'01110000011001010111001001101100')," ", pack ("B*",'011011010110111101101110011010110110010101111001'), "n";
sleep 5;
E-Mails, topicos ou mensagens privadas não serão respondidas a menos que eu considere uma relevancia/necessidade na mesma.
#11
Posted 13/04/2004, 16:28
antes da pessoa votar, ela tem que se cadastrar no sistema (com nome de usuario, senha e outros dados se você quiser).
Dai ao tentar votar mais de uma vez o script não deixa que ela vota (pois eu voto já foi dado).
Junto com isso, armazene a data, hora e o ip das pessoas que votaram para você comparar depois (pois a mesma pessoa pode se cadastrar mais de uma vez no sistema).
Dai vc compara por ip e hora... se forem muito parecido em um curto espaço de tempo você cancela o voto.
Simples e eficiente, não?
Um abraço,
João Gabriel
Site >> joaogabriel.org
CGiClube.net >> http://www.cgiclube.net
Vitória Perl Mongers >> http://vitoria.pm.org
#12
Posted 14/04/2004, 06:17
eh mais facil so o login dai eh so salvar no db que naquela enquete esse user ja voto...
mas de qualquer forma ele pode cadastra mais 200 users
eh so ter e-mail diferente ip diferente etc...
vc no final iria entra no mesmo ponto
porem nesse ele teria que registrar varios users para poder votar.
print join'',(reverse map{/d([a-z])d/}split/W/,'$5x6@314&60f%3i4#moo^1r2#moo^1p2')," ", pack ("B*",'01110000011001010111001001101100')," ", pack ("B*",'011011010110111101101110011010110110010101111001'), "n";
sleep 5;
E-Mails, topicos ou mensagens privadas não serão respondidas a menos que eu considere uma relevancia/necessidade na mesma.
#13
Posted 14/04/2004, 08:17
Acho que o mais simples é guardar os IPs que vão votando no dia e quando acabar esse dia essa lista de IPs é zerada.
Será que a probabilidade é grande de uma pessoa votar e então desconectar, e ai outra pessoa se conectaar usando aquele mesmo IP que ja votou? Pois ai essa nao podera votar pq esse IP ja foi computado...
Valeu!
#14 Whitesnake
Posted 14/04/2004, 14:46
#15
Posted 14/04/2004, 18:49
Mas se for uma votação importante ou algo interessante com certeza pode ter um engraçadinho para atrapalhar nisso.
Mas acho raro isso acontecer a nao ser que o site seja alvo de algo ou tenha um user muito pentelho que o acesse.
print join'',(reverse map{/d([a-z])d/}split/W/,'$5x6@314&60f%3i4#moo^1r2#moo^1p2')," ", pack ("B*",'01110000011001010111001001101100')," ", pack ("B*",'011011010110111101101110011010110110010101111001'), "n";
sleep 5;
E-Mails, topicos ou mensagens privadas não serão respondidas a menos que eu considere uma relevancia/necessidade na mesma.
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)