Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Cesão

[Resolvido] Limitar contagem de acessos com IP e Cookies

Recommended Posts

Olá amigos,

 

Tenho um site de um cliente que é um jornal. Lá ele possui diversos anunciantes. Ele quer fazer a contagem de cliques dos anúncios, mas gostaria que fosse limitado para que a mesma pessoa não pudesse ficar clicando sem parar.

 

Fiz assim... armazenei o IP do usuário em um cookie e o ID do anuncio em outro cookie.. quando ele efetua o clique eu comparo... se o ip OU o id forem diferentes, ele efetua a contagem do clique... se ambas forem iguais, ele não soma o clique na contagem.

 

O único problema é que se o usuario ficar clicando alternadamente (clica em um anuncio, depois em outro, depois no primeiro novamente, e no segundo novamente) ele conta os cliques, pois o ID do anuncio mudou. Como faço para ele manter de TODOS os ids de anuncio que ele clicou? Eu vou manter durante 24 horas, mas isso eu sei como fazer. Só não sei como armazenar diversos IDs no cookie. Alguém sabe?

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este exemplo, pode te ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Xan, ajudou sim, pois eu não sabia de IP vindo de proxy, e isso fez melhorar minha segurança.

 

Mas meu problema continua... não sei a lógica que devo fazer para que, quando o usuário clique em uma palavra, armazene um cookie de 24 horas que não seja mais contabilizado cliques naquela palavra com aquele IP.

Compartilhar este post


Link para o post
Compartilhar em outros sites

utiliza o mesmo sistema de cookies

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilizar mesmo sistema de cookies? Mas no exemplo que você passou, não existem cookies. Mas se você está se referindo a utilizar a mesma lógica do exemplo para eu criar minhas cookies, eu não sei como fazer isso com cookies. hehe

 

Mas então... eu imagino que tenha que ser algo com arrays mesmo. Mas será que é a melhor forma?

E se for, como eu faria no caso de cookies?

Compartilhar este post


Link para o post
Compartilhar em outros sites

assim, você irá inserir um cookie no user , com o valor de X horas e quando logar você lê o cookie e faz as devidas verificações, procure no fórum que existe um tutorial sobre como usar cookies, é só implementar no code...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas, xan... o problema não é sobre criar cookies... isso eu sei fazer... eu não estou conseguindo criar cookies dinâmicas. ISSO eu não sei fazer...

Minha verificação, hoje em dia, está assim:

 

If Request.Cookies("SITE")("IP") <> varIP or Request.Cookies("SITE")("ANUNCIO") <> idAnuncio Then

Ou seja... se a cookie de IP for diferente do IP do usuario OU a cookie do anuncio for diferente do ID do anuncio clicado, ele prossegue.

O problema é que se ele ficar alternando entre anúncios, o cookie do ID do site vai ser sempre diferente, então ele vai prosseguir.

Eu gostaria que fosse criado um cookie para cada anuncio e que ele comparasse todos antes de prosseguir. ISSO que não sei fazer.

 

Eu não saberia como criar cookies dinamicamente, embutí-las em um array e depois não saberia tbm como recuperá-las para comparação. Quem pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode usar um contador (incrementar) uma variavel, para senmpre somar 1 a mais, ou uma dica que acho que ficará melhor é sempre randomizar, ou seja, criar numeros aleatórios para cada acesso e depois faz um if simples para verificar seu critério

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse do número aleatório seria algo como pegar o IP do usuário, tratar para ficar apenas numeros, concatenar com o ID da palavra e embutir numa cookie com algum valor tipo "YES". Daí quando o usuário clicar, basta ele comparar com esse cookie com esse nome e se o conteudo for vazio, ele soma no contador, senão não. É isso? Vou testar aqui...

Compartilhar este post


Link para o post
Compartilhar em outros sites

essa é um aboa lógica...

testa ae, e qualquer coisa posta aqui...

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Po, isso mesmo! hehe funcionou!! O cookie armazena IP e ID como seu proprio nome e coloca um valor qualquer dentro dele. Se o usuário clicar num anúncio que ele já clicou dentro de 24 horas, não contará o clique. Se não, contará normalmente. Muito bom!

 

Obrigado pela lógica, xan! Não tinha pensando nessa! Mais fácil do que criar arrays e etc!

Compartilhar este post


Link para o post
Compartilhar em outros sites

parabéns...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.