Jump to content


Photo

Somente Votar 1 Vez Por Conexão Numa Enquete


  • Faça o login para participar
26 replies to this topic

#1 Zorbaum

Zorbaum

    Turista

  • Usuários
  • 39 posts
  • Sexo:Não informado

Posted 07/04/2004, 09:23

Fiz uma enquete que não está 100% pq ainda não tive uma boa idéia para nenhum engraçadinho ficar votando sem parar.

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

Whitesnake
  • Visitantes

Posted 07/04/2004, 13:23

Ae kra eu fiz um contador e consegui fazer isso sem DB..... ele grava os ips num arquivo e deleta o arquivo quando tiver uma boa quantia........

eu usei:
system ("del $arquivo"); # pra win
system("rm [-r] $arquivo"); #pra unix

Agora um outro jeito axo q só usando cookies

#3 prix

prix

    Duracell: E Duram, Duram, Duram...

  • Usuários
  • 562 posts
  • Sexo:Não informado
  • Interesses:keep walking ...
    jonny walker

Posted 07/04/2004, 14:21

Sim com cookie vc pode resolver.

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 Zorbaum

Zorbaum

    Turista

  • Usuários
  • 39 posts
  • Sexo:Não informado

Posted 08/04/2004, 08:43

Boa Idéia, ai posso fazer expirar sempre à 23:59... para que no outro dia a pessoa possa votar novamente.

E se uma pessoa votar e ir lá e apagar o cookie? Ela vai poder votar daí né?

#5 Whitesnake

Whitesnake
  • Visitantes

Posted 08/04/2004, 11:15

Eh esse é o único problema d se usar cookies

#6 Zorbaum

Zorbaum

    Turista

  • Usuários
  • 39 posts
  • Sexo:Não informado

Posted 08/04/2004, 14:36

E então brother? Como resolver essa grande dúvida?

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

Whitesnake
  • Visitantes

Posted 08/04/2004, 15:31

Kra eu fiz assim no meu contador, conforme o comprimento especificado, ele limpa os arquivos......ou seja......o cara só consegue burlar se ele reconectar....

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 Zorbaum

Zorbaum

    Turista

  • Usuários
  • 39 posts
  • Sexo:Não informado

Posted 12/04/2004, 10:07

E se o arquivo de IPs chegar ao máximo e ser deletado, o cara que tinha aquele ip gravado poderá votar denovo...

É o que entendi. Poderia me explicar melhor?

Valeu

#9 Whitesnake

Whitesnake
  • Visitantes

Posted 12/04/2004, 14:47

é + por exemplo..... usando assim apenas 1 em 'x limite'vai poder votar 2 vezes.....agora usando cookies qualquer um q deletar o cookie será capaz de votar......

#10 prix

prix

    Duracell: E Duram, Duram, Duram...

  • Usuários
  • 562 posts
  • Sexo:Não informado
  • Interesses:keep walking ...
    jonny walker

Posted 12/04/2004, 16:15

Vc pode fazer o seguinte:

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 jgcl

jgcl

    João Gabriel C. Laass, Serra/ES

  • Usuários
  • 559 posts
  • Sexo:Não informado
  • Localidade:Serra / ES
  • Interesses:Tudo!

Posted 13/04/2004, 16:28

Kra eu fiz uma enquete prum site que eu tinha e fiz com a seguinte logica:

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
João Gabriel
Site >> joaogabriel.org
CGiClube.net >> http://www.cgiclube.net
Vitória Perl Mongers >> http://vitoria.pm.org

#12 prix

prix

    Duracell: E Duram, Duram, Duram...

  • Usuários
  • 562 posts
  • Sexo:Não informado
  • Interesses:keep walking ...
    jonny walker

Posted 14/04/2004, 06:17

jgcl pensando assim...
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 Zorbaum

Zorbaum

    Turista

  • Usuários
  • 39 posts
  • Sexo:Não informado

Posted 14/04/2004, 08:17

Não adianta, se alguém quizer burlar para votar mais de uma vez, essa pessoa consegue.

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

Whitesnake
  • Visitantes

Posted 14/04/2004, 14:46

hehehe eu acho isso praticamente impossível!

#15 prix

prix

    Duracell: E Duram, Duram, Duram...

  • Usuários
  • 562 posts
  • Sexo:Não informado
  • Interesses:keep walking ...
    jonny walker

Posted 14/04/2004, 18:49

Olha para falar a verdade, eh muito dificil alguem apagar um cookie ou ficar se reconectando para poder votar.

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)

IPB Skin By Virteq