Como evitar flood com cookie

Aqui você verá artigos sobre PHP

Moderador: web

responder a dúvida

Como evitar flood com cookie

Mensagem por web Offline » Qui Abr 26, 2007 7:43 am


Esse script impede que o usuário acesso ou dê refresh (F5) em um mesmo documento várias vezes, após um determinado números de vezes, o visitante terá que fechar e abrir o navegador novamente, antes de nova atualização no documento.

<?php
if($dados != '') {
$dados++;

// 3600 tempo de duração do cookie (3600=1 hora)
// ou seja, o visitante terá q aquardar 1 hora até ter acesso ao documento novamente
SetCookie("dados",$dados, time()+3600);
} else {
SetCookie("dados",1, time()+3600);
$dados = 1;
}
?>

<?php
// 10 = se o visitante acessar o documento + de 10 vezes
// documento... = para onde vai mandar o visitante após os 10 acessos

if($_COOKIE['dados'] > 10) {
echo "<script language='JavaScript'>";
echo "alert('o número de acessos a esse documento foi esgotado');";
echo "location.href='documento...';";
echo "</script>";
exit;
}
?>

<?php
// abaixo escrevemos o valor atual para dados
echo $_COOKIE['dados'];
?>

Obs.: Esse código deve ser o primeiro no documento, antes de qualquer outro código.



detalhes...

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.

Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb1 [@] gmail [.] com

Avatar do usuário
web
ADMIN
ADMIN
Mensagens: 12407
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil

Como evitar flood com cookie

Mensagem por web Offline » Seg Mai 23, 2011 11:10 pm

O script acima estava ultrapassado e não funcionava mais. Abaixo segue a correção desse script de cookie.

Código: Selecionar todos
<?php
$dados = 0;

if(isset($_COOKIE['dados'])=="") {
setcookie('dados', 0, time()+3600);
} else {
$valor = $_COOKIE['dados']+1;
setcookie('dados', $valor, time()+3600);
}

// 10 = se o visitante acessar o documento + de 10 vezes
// documento... = para onde vai mandar o visitante após os 10 acessos
if($_COOKIE['dados'] > 10) {
echo "<script language='JavaScript'>";
echo "alert('o número de acessos a esse documento foi esgotado');";
echo "location.href='documento...';";
echo "</script>";
exit;
}

// abaixo escrevemos o valor atual para dados
echo $_COOKIE['dados'];
?>


detalhes...

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.

Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb1 [@] gmail [.] com

Avatar do usuário
web
ADMIN
ADMIN
Mensagens: 12407
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil


responder a dúvida

Voltar para Artigos sobre PHP

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes