Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Preciso limitar o usuario logado na session de abrir duas páginas.php ao mesmo tempo, por exemplo fechando a anterior ou mesmo fechando a pagina aberta algo assim.
Vou explicar a minha necessidade, meu site tem uma página com o nome ganha.php, e nessa página o usuário vê um vídeo por 30s e após o tempo um botão aparece para ele apertar e ganhar uma moeda, o problema é que usuários estão abrindo essa página ganha.php em várias guias do navegador e ganhando muitas moedas, preciso de evitar isso pois usuários estão pegando 9 moedas a cada 30s é isso vai acabar com o site é a diversão do ranking de moedas.
bloqueia por ip. é só guardar o ip e a hora da ultima moeda ganha e não deixa registrar mais moedas para aquele ip dentro de um determinado intervalo
É que a cada 30s na página aparece o botão de ganhar a moedas, eles vão juntando, só n queria que burlasem abrindo várias abas
podes usar uma seção pra guardar a hora da última atualização e se der menos de 30 segundos da anterior descarta
Teria algum exemplo para estudos?
Olha, no JS tu consegue criar um evento que fica escultando se o mouse saiu de um determinado elemento.
Tu pode fazer desse tipo:
https://jsfiddle.net/wessleysanttos/e9qmwbjp/1/
Ai caso ele saia a primeira vez, ja cancela de cara. Ai na segunda ele não tenta sair, seila.
Segue aqui todos os eventos que é possível manipular com o jQuery.
>
55 minutos atrás, wessleysanttos disse:
Olha, no JS tu consegue criar um evento que fica escultando se o mouse saiu de um determinado elemento.
Tu pode fazer desse tipo:
https://jsfiddle.net/wessleysanttos/e9qmwbjp/1/
Ai caso ele saia a primeira vez, ja cancela de cara. Ai na segunda ele não tenta sair, seila.
Segue aqui todos os eventos que é possível manipular com o jQuery.
http://api.jquery.com/category/events/mouse-events/
tentei mais quero que ele não possa abrir 2 paginas ganhar.php ao mesmo tempo
Olá Wilvp
Eu não te aconselho a utilizares as session para fazer isso sendo assim porque ?
Actualmente há muitos navegadores...
Um exemplo->
Eu iniciei sessão no chrome e apareceu o botão cliquei ganhei uma moeda e percebi e esperei e o botão voltou a aparecer eu já percebi então que o botão aparece de 30 em 30 sec .
Então abri o firefox e o internet explorer e iniciei sessão neles o que acontece repara se eu abrir a página com tempos diferente vou sempre conseguir acabar por enganar o sistema !!!! Inclusive nem que seja com outro dispositivo;
ou inclusive ALTERANDO O CÓDIGO DIRECTAMENTE NO NAVEGADOR, como o timer é em js é perfeitamente possível de alterar...
Uma das melhores soluções serie teres uma tabela numa base de dados que guardaria a hora e a data em que o utilizador clicou nesse mesmo botão para ganhar a moeda ...
E sempre que ele clicasse nesse botão tu ias ver se o ultimo registo que fez(data mais recente desse mesmo utilizador logado) correspondia com o tempo 30sec
Ou seja um exemplo pratico->
Temos o utilizador joão clicou no botão no dia 09/05/2017 na hora 10:07:00
O joão como é uma pessoa esperta decidiu "enganar" o sistema e no mesmo dia ás 10:07:10 voltou a clicar no botão
Ou seja a hora de agora menos a hora do ultimo registo dá 10 segundo ou seja significa que o utilizador enganou o sistema e das uma mensagem de alerta com um erro e não guardas o valor deste registo na base de dados...
É muito fácil de fazer e é bastante seguro pois não á uma forma "direta" de alterar um código feito em php e muito menos um registo numa base dados ....
Espero que te tenha ajudado ... se precisares de alguns links para te ajudar diz que tenho aqui alguns sobre subtracção de horas no sql mas basta pesquisares no google que encontras logo
Abraço
Vítor Mendes
Olá wilvp
Isso que disseste não está muito esclarecedor essas páginas php são do servidor?
Ou qualquer uma página web .php no browser?
Já tens algum código feito?
Abraço
Vítor Mendes