1. TugaTech » Programação, Scripts e Webmasters » Programação, Scripts e Webmasters

Siga-nos

Realize o Login na sua conta ou Registe-se para participar.

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

#1 [PHP]Como banir IP - em Dom 27 Maio 2012 - 11:36

zordY

Graúdo
avatar
Hoje, em dia, existem muitas pessoas, que pensam que são espertas, mas não sabem que o dono do site, pode fazer tudo que quiser.
O administrador do site, pode dar um simples ban por ipv4, mas e se ele muda?
Pois, vou vos dizer uma maneira praticamente simples, mas boa!

Primeiro vamos precisar de um banco de dados, vá ao seu phpmyadmin e crie um banco com um nome a sua escolha depois vá em SQL e execute o seguinte código:
Código:
CREATE TABLE IF NOT EXISTS `banrow` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `ip` varchar(15) NOT NULL,
  `start` datetime NOT NULL,
  `end` datetime NOT NULL,
  PRIMARY KEY (`id`),
  KEY `ip` (`ip`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;

Com o nosso Banco de dados criados precisaremos criar uma conexão com o mesmo, o código abaixo faz essa conexão , você só vai precisar editar o" mysql_user", "mysql_pass" && e o nome do banco de dados:
Código:
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_pass');
if (!$link) {
    die('Not connected : ' . mysql_error());
}

$db_selected = mysql_select_db('NOMEDADB', $link);
if (!$db_selected) {
    die ('Can\'t use foo : ' . mysql_error());
}
?>

Obs: Salve como connect.php

Bem , agora vamos ao PHP que irá verificar se o IP do usuário conta na lista dos banidos assim impedindo o acesso do mesmo aos vossos sites:

Código:
 <?php

/*
* Banrow IP Control Time (c) 2012
* Created by Leader
*/

require_once('connect.php');

$sql = "DELETE FROM banrow WHERE ( `end` <= NOW() )";
mysql_query($sql);
$ip_user = $_SERVER['REMOTE_ADDR'];
$selectdb = "SELECT * FROM banrow WHERE ( `ip` = '". $ip_user ."' ) AND ( NOW() BETWEEN `start` AND `end` )";
$query = mysql_query($selectdb);
if (mysql_num_rows($query) !== 0) {
    $_SESSON["banrow"] = "banned";
    echo "<b style=color:red>Você foi banido por infringir as regras do site.</b>";
    exit;
}
?>


Pronto agora para banir alguem você só precisa ir no banco de dados clicar em inserir e acrescentar o IP + Data de ínicio do banimento e data de termino.

Bem é isso, existem vários outros métodos para banir o IP dos usuários como por exemplo usando o .htaccess .

Tutorial by: zordY Rolling Eyes Rolling Eyes Rolling Eyes Rolling Eyes

Ver perfil do usuário http://bizarrowebdevolper.net/site/index.php
conectado

#2 Re: [PHP]Como banir IP - em Dom 27 Maio 2012 - 11:46

DJPRMF

Administrador
avatar
Este método é um pouco mais complexo do que o htaccess, mas também funciona. Smile

Mas o melhor é, sem duvida, bloquear o acesso directamente na firewall do servidor. E, quando não é possível, então tentar este método ou o htaccess..


____________________________________________




Não respondo a MP's de tópicos que podem ser colocados no forum. Ajude e seja ajudado por todos.
TugaTech | Host TugaTech
Ver perfil do usuário http://tugatech.com.pt https://www.facebook.com/DJPRMF https://twitter.com/dj_prmf DJPRMF https://plus.google.com/+PedroFernandes-DJPRMF?rel=author

#3 Re: [PHP]Como banir IP - em Dom 27 Maio 2012 - 11:51

zordY

Graúdo
avatar
Exactamente, mas para o pessoal, iniciante não é mau, este método.

Ver perfil do usuário http://bizarrowebdevolper.net/site/index.php

#4 Re: [PHP]Como banir IP - em Sab 8 Set 2012 - 18:07

Leader

Iniciante
Olá,

você copiou este meu tópico do fórum Web Cheats e alterou o texto mas pelo menos deixou os créditos dentro do código.

Link do Tópico criado por mim: www.webcheats.com.br/forum/web-programacao/1516231-php-como-banir-ip.html

Não faça mais isso Ok?

Ver perfil do usuário
conectado

#5 Re: [PHP]Como banir IP - em Sab 8 Set 2012 - 18:12

DJPRMF

Administrador
avatar
Boas Leader,

Não posso falar em nome do utilizador, como deve compreender.
No entanto considero igualmente que o utilizador deveria colocar os créditos se assim foi. Wink

Cumps


____________________________________________




Não respondo a MP's de tópicos que podem ser colocados no forum. Ajude e seja ajudado por todos.
TugaTech | Host TugaTech
Ver perfil do usuário http://tugatech.com.pt https://www.facebook.com/DJPRMF https://twitter.com/dj_prmf DJPRMF https://plus.google.com/+PedroFernandes-DJPRMF?rel=author

#6 Re: [PHP]Como banir IP - em Seg 1 Out 2012 - 6:16

nfcg

Iniciante
avatar
Código:
<?php
 
function SpamBotOut($ip)
{
    $SpamBot = false;
 
        $xml_string = file_get_contents('http://www.stopforumspam.com/api?ip='.$ip);
        $xml = new SimpleXMLElement($xml_string);
        if($xml->appears == 'yes')
        {
            $SpamBot = true;
        }
   

 
$SpamBot = SpamBotOut($_SERVER['REMOTE_ADDR']);
if($SpamBot == true)
 
{
header("Status: 404 Not Found"); // ou  header("Location: http://disney.pt");
 
exit;
 

 
?>

Implementei este a uns tempos no meu livro de visitas.

Nunca mais tive um post de spam Very Happy

Nuno

Ver perfil do usuário http://nunofcguerreiro.com

Ver o tópico anterior Ver o tópico seguinte 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




Aplicações do TugaTechAplicações TugaTechBlog TugaTechBlog do TugaTechRSS TugaTechRSS do TugaTechSpeedtest TugaTechSpeedtest TugatechHost TugaTechHost TugaTech