Olá usuário , seja muito bem vindo ao nosso fórum !

Se esta visitando nosso fórum e de alguma forma nós te ajudamos com algum tutorial, download, espero que colabore com a gente se registrado no fórum que não leva mais que 1 minuto.

Outras formas de colaborar com o nosso fórum:

-> Se logando apos o registro.
-> Entrando diariamente.
-> Postando novos conteúdos no fórum como tutoriais, downloads, piadas, memes, notícias, vídeos, etc..
-> Leia nossas regras e participe de nossas promoções.

Até mais , aguardo seu registro e sua colaboração com o fórum.

Você não está conectado. Conecte-se ou registre-se

[Tutorial][PHP] Como bloquear acessos de IP'S no seu site

Ir em baixo  Mensagem [Página 1 de 1]

BOT

avatar
RBFounder

RBFounder
Bom galera, meu primeiro tuto, vou compartilhar com vocês! :D

Indice
1 - Porquê disso?;
2 - Código em si;
3 - Créditos.


1 - Porquê disso?
Bom, muitos devem ter problemas com engraçadinhos em seus sites que vivem nos atazanando... e eu estou criando uma espécie de jogo de guerra em browser, aí no meio do caminho das ideias pensei em desenvolver este código. Existem poréns deste código... sendo eles: saiba que grande parte dos usuários dos sites, possuem IP's dinâmicos, ou seja, cada vez que o modem ou dispositivo de acesso a internet é 'resetado' o IP do usuário muda, assim tendo que você colocar os IP's deste engraçadinho na tabela... É um código simples, apenas para bloquear o acesso mesmo... Você tem de por ele em todas as páginas (=X). Você deve estar pensando: "Hehehe, eu tenho cPanel, lá eu posso bloquear até uma faixa de IP", eu digo: "Ótimo pra você, se não tem tu, vai tu mesmo :lol:". Posso usar no meu hotel? Claro! :D

2 - Código em si
Vamos ao que interessa...
Código em SQL, para criação da tabela:
Spoiler:
CREATE TABLE IF NOT EXISTS `ips_bloqueados` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ip` varchar(50) COLLATE utf8_bin NOT NULL,
`motivo` varchar(50) COLLATE utf8_bin NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=2
Ao analisar você deve ter se perguntado: "Que que esse 'id' tá fazendo ali?" Simples meu caro, se você resolver fizer um 'form' para adicionar IP's, o 'id' vai te ajudar para excluí-lo posteriormente. "Mas eu também posso usar um $_GET['ip'] no file de exclusão para excluir o ip bloqueado...", ótimo ^^!

Código em PHP (lembrando... este código não apresenta conexão com a DB, portanto antes de rodá-lo em seu servidor, certifique-se de que há um documento fazendo esta conexão, utilizando um include ou não, como por exemplo: include("configs.php");. Existem algumas explicações dentro do spoiler...):
Spoiler:
$ip = $_SERVER['REMOTE_ADDR'];
$ipban = mysql_query("SELECT * FROM ips_bloqueados WHERE ip='$ip'");
$finalizaip = mysql_num_rows($ipban);
$motivo = mysql_fetch_array($ipban);
?>
// VERIFICA SE O IP ESTÁ BLOQUEADO //
if($ip == $finalizaip)
{
// SE SIM ELE EXIBE UMA MENSAGEM INFORMANDO QUE ESTÁ BLOQUEADO E O MOTIVO //
echo 'Seu IP está bloqueado para acessos em nosso servidor. Ele está bloqueado pelo seguinte motivo:
'.$motivo['motivo'];
}
// SE NÃO, ELE MOSTRA A PAGE //
else
{
?>
Conteúdo da sua page...

Ver perfil do usuário https://twitter.com/

Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum