Ir para conteúdo
Fórum Script Brasil
  • 0

Invadir Bd


Sama

Pergunta

10 respostass a esta questão

Posts Recomendados

  • 0

este é uma validação de login:

<?php

//Iniciar a Sessão

session_start();

  //Minhas funções

  require("funcoes/uteis.php");

    //recupera variaveis do form

    $login = $_POST['login'];

    $senha = $_POST['senha'];

      //conectar ao banco

        conectar("helpdesk");

          //criar comando de SELECT para verificar se o login existe

          $sql = "SELECT * FROM `usuarios` where login=$login' AND senha='$senha'";

            //executa o comando sql

            $resultado = @mysql_query($sql);

              //transforma o resultado em array

              $dados = @mysql_fetch_array($resultado);

              $id = $dados["id];

              $acessos = $dados["acessos"];

              $total = $acessos + 1;

                //Valida as variaveis recuperadas

                $arCampos = array($login, $senha);

                $arErros = array("<li>Login</li>",

                                "<li>Senha</li>");

                $erros = validate($arCampos, $arErros);

                  //se os campos estiverem preenchidos corretamente , continua a execução

                    if(empty($erros)){

                      //verifica se o usuario exite

                      if($dados["id"]>0){

                        //comando de sql de UPDATE da coluna acesso, e o comando de execução do comando sql

                        $acessos_sql = mysql_query("Update usuarios SET acessos = '$total' WHERE id=$id'");

                          //adicionar dados na sessão

                                $_SESSION["id]=$id;

                                $_SESSION["login"]=$login;

                                $_SESSION["acessos"]=$total;

                                header("location:error_user.php");

                                exit();

                      }else{

                          header("location:error_user_in.php");

                          exit();

                      }

                    }else{

                        header("location:error_user_empty.php?msg=$erros&e=1");

                        exit();

                    }

                     

?>

mais na verdade eu queria aprender como se faz essa verificação de brechas no sistema, porque estou prestes a fazer uma programação grande e de muita segurança!

Link para o comentário
Compartilhar em outros sites

  • 0

Funciona porque isso é sintaxe SQL

esses comandos nada mais são que um pedido de execução pro banco fazer algo se passar os comando pelo seu sistema o banco vai execultar eles

você tem que impedir que chegue esses comando no SQL

exemplo:

SELECT * FROM tabela WHERE nome = '$nome' and senha = '$senha'

repare dentro as aspas se você mandar outro comando 1' or 1='1

SELECT * FROM tabela WHERE nome = '1' or 1='1'

isso é um dos exemplos que da pra fazer

repare que eu aproveitei as proprias aspas do sistema

soluções que ajudam muito na segurança:

addslashes

strip_tags

trim

str_ireplace

str_replace

md5

e mais a criatividade de cada um

Link para o comentário
Compartilhar em outros sites

  • 0

Só completando esse post do Fabyo, Expressões Regulares e a função is_numeric() tb ajudam na hora de verificar os dados que estão sendo enviados pelo usuário. Todo cuidado é pouco, sempre tem alguém procurando uma brecha aqui ou ali. Deve-se tentar prever e fechar todas as possibilidades possíveis... façam isso que o Fabyo falou: busquem artigos sobre injection no PHP e SQL.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...