Jump to content
wilvp

Bloquear a exibição de 2 páginas a mesmo tempo

Recommended Posts

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.

Share this post


Link to post
Share on other sites

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

 

 

 

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

É 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

Share this post


Link to post
Share on other sites

podes usar uma seção pra guardar a hora da última atualização e se der menos de 30 segundos da anterior descarta

Share this post


Link to post
Share on other sites

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/ 

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites

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

 

 

 

 

 

 

 

 

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Alvaro_php
      Pessoal boa noite
      Estou começando no PHP e estou com uma dúvida para poder enviar uma confirmação de uma página para outra e não quero mandar pela URL, para não ficar visível ao usuário
      Tenho um captcha e nele estou fazendo uma comparação para poder jogar para uma outra página , caso o código esteja certo
      <?php session_start();
          if( $_SESSION['captcha'] == $_POST['captcha']){
          header("location: emitir_titulo1.php");
          }else{
              echo "<h1>Erro - Código digitado errado</h1>";
          }
      ?>
      Até ai tudo bem esta fazendo certinho, o que eu quero é que na minha emitir_titulo1.php eu consiga fazer uma identificação qqer, onde demonstre que o usuário passou pelo captcha e não jogou o caminho completo até a página emitir_titulo1
      Tentei abri a session no emitir_titulo1 porém não deu certo, pois ela vem em branco, e quando coloco o caminho inteiro da página ele abre normalmente
      Tentei usar o $_POST, más não tem como ou não sei enviar mesmo, pois estou chamando a página pelo header
       
       
      Então mudei e tentei criar um arquivo txt com a palavra confirmado
      <?php session_start();
          if( $_SESSION['captcha'] == $_POST['captcha']){
              $fp = fopen("seguranca.txt","a+");
              $escreve = fwrite($ft,"confirmado");
              fclose($ft);
              header ("location: emitir_titulo1.php");
          }else{
              echo "<h1>Erro - Código digitado errado</h1>";
          }
      ?>
       
      e na página emitir_titulo1.php coloquei
      <?php  
          $arquivo = "seguranca.txt";
          $ft=fopen($arquivo,"r");
          $conteudo=fread($ft,filesize($arquivo));
          fclose($ft);
          
          if ($conteudo == 'confirmado')
          {
              unlink("seguranca.txt");
          }else{
              header("location: verificacao.php");
          }
      ?>
       
      Quando a página para executar e digito o código de verificação do captcha, aparece a mensagem abaixo
      Warning: fwrite(): supplied argument is not a valid stream resource in caminhodomeuservidor\valida.php on line 5
      Warning: fclose(): supplied argument is not a valid stream resource in caminhodomeuservidor\valida.php on line 6
      Warning: Cannot modify header information - headers already sent by (output started at caminhodomeuservidor\valida.php:5) in caminhodomeuservidor\valida.php on line 7
       
      Más quando coloco o caminho completo da minha página emitir_titulo1.php, ele continua abrindo a página normalmente, e o arquivo gerado esta em branco
       
      Alguém pode me dar uma ajuda, estou o dia todo nisso, o bom é que pesquisei bastante coisa, porém não tenho muito tempo para finalizar
       
      Desde já agradeço a todos
    • By ramonjba
      Olá pessoal. Estou desenvolvendo uma especie de monitoramento, estou utilizando o MATERIALIZE, desta forma, optei por não trabalhar com responsividade, pois preciso do máximo de informações possíveis na tela, seja desktop ou mobile, fazendo o ajuste de zoom se preciso. Fiquei cerca de dois anos sem programar, eu havia feito esse projeto para meu TCC, porém após finalizar, deixei parado e acabei perdendo. Com o tempo, algumas ideias em relação ao projeto também mudaram, e para apresentar a informações das `Torres de Internet`, utilizei o collapsible-header conforme imagem `projeto_monitor`, pois, ao clicar em cima do `equipamento`, ele apresenta informações relacionadas a ele. Estou tendo problemas para alinhar estes `collapsible-header ` pois preciso preencher toda a tela, sem deixar espaçamentos. Para isso, fiz uma classe CSS contendo: 
       
      .row .col.quadroTorre1 { margin-top: -10%; margin-bottom: 10%; } .row .col.quadroTorre2 { margin-top: -7.3%; margin-bottom: 10%; } .row .col.quadroTorre3 { margin-top: -30%; margin-bottom: 10%; } .row .col.quadroTorre4 { margin-top: -1.7%; margin-bottom: 10%; }  
      E fiz uma verificação no código, para ver qual o numero de equipamentos que a `Torre` que está acima tem. Porém, como podemos observar, na segunda linha funcionou preenchendo os espaços, mas pulando para a terceira linha, já possui uma lacuna em branco, onde deveria estar situado o elemento. Além disso, os elementos da segunda linha, acabam se sobrepondo, conforme imagem `projeto_sobrepor`. Como fiquei cerca de 2 anos sem programar, estou encontrando algumas dificuldades e empacando nelas. A parte de front-end é a que gera maior dificuldade. Se alguém puder me auxiliar, agradeço. 
       
      Edit: Se alguém tiver dicas de como posso melhorar o preenchimento das lacunas em branco. 
       


    • By CharlieAldrin
      Estou tentando fazer um chat, e nele é necessário saber se um usuário continua na página do chat, para caso ele saia informar o outro usuário.
      Encontrei em alguns lugares como solução fazer um ajax conferindo se o usuário está "dando sinal de vida" de 10 em 10 segundos (por exemplo), porém não entendi como fazer isso e nem como colocar no código. Alguém pode me ajudar por favor? 
      Ou me informar se existe alguma forma melhor de conferir isso?
       
      Valeu desde já :) 
    • By nilo7004b
      Ola pessoal, sou novo aqui no fórum e desculpem qualquer erro, já procurei bastante pelo meu problema e não consegui encontrar nada a respeito. O meu problema é que eu estou desenvolvendo uma pagina web e após definir o background como um gradiente e adicionar divs aparecem umas manchas brancas pela pagina que vão alterando de posição a medida em que vai fazendo scroll na pagina, na imagem anexada tem o exemplo, gostaria de saber qual a origem do problema e como resolver. Desde já agradeço pela ajuda.
      Obs.: as DIVs adicionadas não estão com a cor de background definida.
       




    • By lindomar55
      ola amigos preciso de uma ajudinha, estou montando uma aplicaçao usando vb.net windows forms. nela tenho um botao onde chamo uma url no chrome com o seguinte comando.
      Private Sub Btn_abrir_site_Click(sender As Object, e As EventArgs) Handles Btn_abrir_site.Click
              Dim url As String = “https://www.rico.com.você/dashboard/tesouro-direto/“
              Process.Start(url)
          End Sub
      no google entao eu acesso com meu logim manualmente(prefiro assim). e em realizo uma serie de operaçoes, chega um determinado momento que preciso passar passar os dados que o site me apresenta entao(apos as operaçoes) para o aplicativo. ai é que esta o problema. neste ponto estou boiando.
      no codigo abaixo por exemplo: precisava obter os valores 12,36 e 8806,84 de forma automatica e colocar em textbox.
      vi exemplos na net que mostram com webbrowser porem eu prefiro que seja com o chrome. e nesses exemplos ele abre a pagina e ja obtem os dados. eu preciso trabalhar na pagina muiiiito e so depois baixar os dados programaticamente.
      qualquer ajuda sera bem vinda....
       

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.