Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá galera do PHP no imasters
Gostaria de saber que comando ou função uso em PHP para limitar a quantidade de acesso ao mesmo tempo a um site
tipo suponha que quero que só 20 ou 30 acessos seja feito ao mesmo tempo
ou que comando ou configuração eu faço no servidor para limitar o numero de PINGS, e pacotes enviados ao meu site?
eu não preciso de mais do que 20/50 acessos ao mesmo tempo, em meu site
if ($quantidade_acesso > 50)
{
echo "Limite de visitantes alcançado, volte mais tarde";
}
que função que uso para "catar" o numero de visitantes sem LOGAR-se?
OK por ai mais ou menos que eu preciso, porem terei que criar uma tabela de dados temporaria, pois como disse
os usuarios ou visitantes do site , não sao cadastrados
Valew pela dica, sobre o REMOTE_ADDR, notei mesmo que não pode confiar, porque no meu formulario de contato tem uns 200 contatos que deixaram com o mesmo IP... 200.68.xxx.xxx por ai
Primeiramente é preciso fazer um contador de visitantes online, e usá-lo para verificar se há mais que 50 visitantes conectados.
session_start();
// Tempo em segundos para considerar que alguém está online
$expire = 120;
// Armazena o IP e tempo de acesso do visitante no array 'visitantes'
$_SESSION['visitantes'][] = array('ip' => $_SERVER['REMOTE_ADDR'], 'atividade' => $_SERVER['REQUEST_TIME']);
Remover os visitantes expirados:
foreach ($_SESSION['visitantes'] as $n => $visitante)
{
if ((time() - $visitante['atividade']) > $expire) {
Contar os visitantes:
{Observe:
1 - User REMOTE_ADDR apenas exemplificando, nem sempre REMOTE_ADDR está armazenando o endereço IP do usuário, depende das configurações de rede.
2 - Você também pode usar o banco de dados para armazenar os visitantes.
3 - Não verifique a sintaxe do código acima nem o testei para saber se funciona ou não, só estou passando uma dica de como você pode fazer isso.