Sama Postado Dezembro 16, 2004 Denunciar Share Postado Dezembro 16, 2004 oi gente,gostaria de saber se e possivel alguém invadir meu banco de dados ?tipo, um programa que você acumula pontos, ai a pessoa invade meu banco de dados ( por exemplo,eu sou o dono ) ai ele coloca quantos pontos quizer sem EU ficar sabendo ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kafunga Postado Dezembro 16, 2004 Denunciar Share Postado Dezembro 16, 2004 ter tem como sim, mais eu n sei como, ate quero saber!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Dezembro 16, 2004 Denunciar Share Postado Dezembro 16, 2004 Depende de como ta seu sistema e sua segurançase tiver brechas da pra entrar sim e cadastrar editar ate deletar seu banco de dadosse quiser ajuda posta como você fez sua segurança dai a gente da ideias de como melhorar Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kafunga Postado Dezembro 16, 2004 Denunciar Share Postado Dezembro 16, 2004 fabyo você sabe como invadir?seria pelo form, uma das maneiras, como q podemos fazer esta segurança?porque em meus scripts n tem segurança alguma, porque eu n sei quais são as brechas do codigo... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Dezembro 16, 2004 Denunciar Share Postado Dezembro 16, 2004 Principal brecha é na sintaxe SQL e como você trata os dados vindo do formsempre trate os dados vindos do form e pesquise sobre SQL injection e PHP injectione se quiser posta ai um script seu pra eu ver se tem alguma falha de segurança Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kafunga Postado Dezembro 16, 2004 Denunciar Share Postado Dezembro 16, 2004 este é uma validação de login:<?php//Iniciar a Sessãosession_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! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Dezembro 16, 2004 Denunciar Share Postado Dezembro 16, 2004 no manual do php tem uma materia sobre segurançae pesquise também sobre sql injection e php injection Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kafunga Postado Dezembro 16, 2004 Denunciar Share Postado Dezembro 16, 2004 username: hi' or 1=1-- Password: hi' or 1=1-- isto tb funciona com php, porque na materia q eu vi fala em asp, mais em php?tipo, eu testei nos meus login e n deu em nada... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Dezembro 16, 2004 Denunciar Share Postado Dezembro 16, 2004 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 elesvocê tem que impedir que chegue esses comando no SQLexemplo:SELECT * FROM tabela WHERE nome = '$nome' and senha = '$senha'repare dentro as aspas se você mandar outro comando 1' or 1='1SELECT * FROM tabela WHERE nome = '1' or 1='1' isso é um dos exemplos que da pra fazerrepare que eu aproveitei as proprias aspas do sistemasoluções que ajudam muito na segurança:addslashesstrip_tagstrimstr_ireplacestr_replacemd5e mais a criatividade de cada um Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Illidan Postado Dezembro 16, 2004 Denunciar Share Postado Dezembro 16, 2004 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Sama Postado Dezembro 16, 2004 Autor Denunciar Share Postado Dezembro 16, 2004 valeu entendi,,vou dar uma lida noque vocês falaram tb Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Sama
oi gente,gostaria de saber se e possivel alguém invadir meu banco de dados ?
tipo, um programa que você acumula pontos, ai a pessoa invade meu banco de dados ( por exemplo,eu sou o dono ) ai ele coloca quantos pontos quizer sem EU ficar sabendo ?
Link para o comentário
Compartilhar em outros sites
10 respostass a esta questão
Posts Recomendados
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.