antiblock
Elveron
  • Chatbox

    You don't have permission to chat.
    Load More
Sign in to follow this  
Vitor Pinho ☮

Classe Completa Banco De Dados + Logs De Acesso

1 post in this topic

Funções
- Anti Injection
- Sistema de Log
- Ban por IP automatizado
- Conexão e manipulação de banco de dados
 

 

<?php

 /* #########################################################Classe MYSQL, Logs, Ban##########################################################################
 * Inicie a função com: $sql = new mysql();
 * Obter dados POST com: $post = anti_injection($_POST[campo]);
 * Obter dados GET com:  $get = anti_injection($_GET[campo]);
 * Para gerar arquivo de log inclua: $sql->get_nav("");
 * Para iniciar o sistema de ban via ip inclua: $sql->ban_ip();
 * Para conectar ao banco de dados inclua: $sql->conectar("host","login","senha");
 * Para selecionar o banco de dados inclua: $sql->selectdb("dbname");
 * Para selecionar tabelas inclua: $sql->selecionar("campos,separados,por,virtuga","tabela","campo_where=valor","campo_orderby","desc ou asc"); caso sem ordeby deixar em "" idem para asc ou desk.
 * Para exibir resultado unico: print $sql->exibe(campo);
 * Para exibir varios resultado: print $sql->exibeall(campo);
 * Para update: $sql->atualizar("tabela","campo","valor_atualizar","campo_where","valor");
 * Para insert: $dados = array ('campo' => 'valorcampo'); $sql->inserir("tabela","dados");
 * Para delete: $sql->deletar("tabela","where_campo=where_valor");
 * Para desconectar mysql: $sql->desconectar();
 */
 
 $sql_ip = "mysql.hostinger.com.br";
 $sql_user = "u992474423_site";
 $sql_pass = "vop483kaj6a";
 $sql_db = "u992474423_site";
 
 
 
    function anti_injection($sql)
    {
    $sql = preg_replace("/(from|select|insert|delete|where|drop table|show tables|and|sleep|#|'|*|--|)/i", '', $sql);
    $sql = trim($sql);
    $sql = strip_tags($sql);
    $sql = addslashes($sql);
 $sql = htmlspecialchars($sql); 
 $sql = preg_replace('/[^a-zA-Z0-9]/', "", $sql); 
 //$sql = substr($sql, 0, 2);
 return $sql;
    }
 
 class Mysql {
    var $conect;
    var $database;
    var $query;
     
 public function gravando_erros($erro){
    $arquivo = fopen('log/54545646757878794.txt','a');
    fwrite($arquivo,"[".date("r")."] Log: $errorn");
    fclose($arquivo);
    } 
     
    public function erro($msgerro){
    $exibemsg = "Ocorreu um problema durante a manipulação dos dados! ";
    $exibemsg .= "O erro encontrado foi: ";
    $exibemsg .= "$msgerro";
    $this->gravando_erros($exibemsg);
     echo $exibemsg;
    } 
 
 public function get_nav($complement){
 $useragent = $_SERVER['HTTP_USER_AGENT'];
    if (preg_match('|MSIE ([0-9].[0-9]{1,2})|',$useragent,$matched)) {
   $browser_version=$matched[1];
   $browser = 'IE';
    } elseif (preg_match( '|Opera/([0-9].[0-9]{1,2})|',$useragent,$matched)) {
   $browser_version=$matched[1];
   $browser = 'Opera';
    } elseif(preg_match('|Firefox/([0-9.]+)|',$useragent,$matched)) {
   $browser_version=$matched[1];
   $browser = 'Firefox';
    } elseif(preg_match('|Chrome/([0-9.]+)|',$useragent,$matched)) {
   $browser_version=$matched[1];
   $browser = 'Chrome';
    } elseif(preg_match('|Safari/([0-9.]+)|',$useragent,$matched)) {
   $browser_version=$matched[1];
   $browser = 'Safari';
    } else {
   
   $browser_version = 0;
   $browser= 'other';
    } 
 
   $ip = $_SERVER["REMOTE_ADDR"];
 $endereco = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
   
 
 
 
     $concl = "$complement: | IP: $ip | Navegador: $browser $browser_version  | $endereco";
 $this->gravando_erros($concl);
 }
 
 
 
 function ban_ip(){
  $url = $_SERVER['REQUEST_URI'];
        $ipban = $_SERVER["REMOTE_ADDR"];
  ///////////////////////////////////////////////////////////////DEFINE DATA e BANE IP
  if (strlen($url) > 30)
  {  
  if ($ipban != "127.0.0.1"){
  $htacess = fopen('.htaccess','a');
  $data_release =  strftime("%d/%m/%y", strtotime("+1 days"));
  fwrite($htacess,"deny from $ipbanrn#Release $data_release $ipbanrn");
  fclose($htacess);  
  $log = fopen('log/54545646757878794.txt','a');
  fwrite($log,"[".date("r")."] IP BANNED: IP: $ipban | Release Day ".$data_release."rn");
  fclose($log);}
  } 
     } 
 
 
 
    function conectar($host,$usuario,$senha){
    $this->conect = mysql_connect($host, $usuario, $senha);
    if($this->conect)
    {
    return true;
    }
    else
    {
    $this->erro(mysql_error());
    } }
     
    function selectdb($db){
    $this->database = mysql_select_db($db, $this->conect);
    if(mysql_select_db($db, $this->conect))
    {
    return true;
    }
    else
    {
    $this->erro(mysql_error());
    }
    }
   
   function inserir($tabela,$dados){
                // Dividimos o Array dentro de $dados em Chaves e Valores
                                $campos = array_keys($dados);
                                $valores = array_values($dados);
                //Executamos a Query    
                                $this->query = mysql_query("INSERT INTO ".$tabela." (".implode(', ', $campos).") VALUES ('" . implode('', '', $valores) . "')");
                //Verificamos se a Query foi executada corretamente
                                if($this->query)
                                {
                                        return $ok = true;
                                }
                                else
                                {
                                        $this->erro(mysql_error());
                                }
   }
    function deletar($tabela,$where){
    $this->query = mysql_query("DELETE FROM ".$tabela." WHERE ".$where."");
    if($this->query)
    {
  $this->gravando_erros("DELETE FROM ".$tabela." WHERE ".$where." " .$_SERVER['REMOTE_ADDR']);
    return true;
    }
    else
    {
    $this->erro(mysql_error());
    }
    }
 
    function atualizar($tabela,$campo,$valores,$where){
    $this->query = mysql_query("UPDATE $tabela SET $campo='$valores' WHERE ".$where."");
    if($this->query)
    {
  $this->gravando_erros("UPDATE $tabela SET $campo='$valores' WHERE ".$where." | " .$_SERVER['REMOTE_ADDR']);
    return true;
    }
    else
    {
   $this->erro(mysql_error());
    }
    }
 
    function selecionar($campos,$tabela,$where,$orderby,$alinhamento)
    {
    if(!empty($campos) && !empty($tabela) && empty($where) && empty($orderby) && empty($alinhamento) && empty($limit))
    {
    $this->query = mysql_query("SELECT ".$campos." FROM ".$tabela."");
    return true;
 
    }
    elseif(!empty($campos) && !empty($tabela) && !empty($where) && empty($orderby) && empty($alinhamento) && empty($limit))
    {
    $this->query = mysql_query("SELECT ".$campos." FROM ".$tabela." WHERE ".$where."");
    return true;
    }
    elseif(!empty($campos) && !empty($tabela) && !empty($where) && empty($orderby) && empty($alinhamento) && !empty($limit))
    {
    $this->query = mysql_query("SELECT ".$campos." FROM ".$tabela." WHERE ".$where." LIMIT ".$limit."");
    return true;
    }
    elseif(!empty($campos) && !empty($tabela) && !empty($where) && empty($orderby) && !empty($alinhamento) && empty($limit))
    {
    $this->query = mysql_query("SELECT ".$campos." FROM ".$tabela." WHERE ".$where." ".$alinhamento."");
    return true;
    }
    elseif(!empty($campos) && !empty($tabela) && !empty($where) && !empty($orderby) && empty($alinhamento) && empty($limit))
    {
    $this->query = mysql_query("SELECT ".$campos." FROM ".$tabela." WHERE ".$where." ORDER BY ".$orderby."");
    return true;
    }
    elseif(!empty($campos) && !empty($tabela) && !empty($where) && !empty($orderby) && !empty($alinhamento) && empty($limit))
    {
    $this->query = mysql_query("SELECT ".$campos." FROM ".$tabela." WHERE ...

 

 
Fonte
Imagem colocada
 

Share this post


Link to post
Share on other sites
antiblock
Rodnia | Alpha & Omega

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
Sign in to follow this