Archive for the ‘Banco de Dados’ Category

SQL Injection - Para Iniciantes

Tuesday, October 31st, 2006

Este material é para aqueles que estão iniciando no PHP agora.

Com certeza já devem ter ouvido falar nesse termo, “SQL Injection”, que é uma maneira de enganar o sistema ou site inserindo SQL nos campos de login, senha, busca e outros.

A pouco tempo atrás quando estava buscando vídeos na internet, encontrei um site que precisava de cadastro para poder ver o site, e com preguiça de cadastrar, joguei um dos comandos mais básicos que é:

‘ OR ” = ” OR 1 = 1 OR ” = ‘

Esse comando deixa a validação de sistemas não seguros “LOUCOS”, permitindo o acesso sem precisar nem de um usuário e muito menos de uma senha. Mas aconselho, não façam isso em casa!

Bom esse foi um exemplo que fiz para o professor da Unerj, Manfred Heill Jr. com objetivo de apresentar a insegurança nos Sistemas de Informação.

Para entender melhor, faça o download do exemplo e faça alguns testes:

sqlInjection.zip

Esse exemplo tem como finalidade apenas mostrar furos nos SI, visando melhores aplicações para WEB.

Andrey Pedro Lefkum

Criando conexão com o banco de dados MySQL

Wednesday, October 4th, 2006

Para tornar páginas mais dinâmicas, precisamos da ajuda de um banco de dados, de preferência FREE e com ótimo desempenho. Este banco é o MySQL:

Conectando ao MySQL:

$id_conexao = mysql_connect(endereço do banco, usuário, senha);

Após estabelecer conexão com o MySQL, precisamos conectar em uma base de dados (BD):

mysql_select_db(nome do banco, $id_conexao);

<?
$conecta = mysql_connect(”endereço_do_bd”, “usuario”, “senha”) or print (mysql_error());

mysql_select_db(”banco_de_dados”, $conecta) or print(mysql_error()); $sql = “SELECT * FROM tabela”;
?>

Como mostrar totais sem contar os registros duplicados.

Friday, September 1st, 2006

Bom hoje estava com uma dúvida, na hora de montar uma paginação,
precisava saber o total que um sql poderia ter e mostrar as paginas com
os registros e os totais encontrados.

Problema: Tive que fazer um relacionamento com outra tabela que
retornava mais de uma vez o mesmo registro, então seria fácil, bastava
colocar um GROUP BY pelo código auto incrementável que estaria
resolvido e retornaria somente 1 registro. Mas o buraco era mais
embaixo, pois se colocar um GROUP BY quando se tem um COUNT o resultado
é o total de registros encontrados por usuário, no caso 2 para um
usuário, 3 para outro, enfim, o que estava precisando é tanto na
contagem total quanto no retorno da busca com os registros removessem
os duplicados:

SELECT count(distinct(codigo))
FROM usuarios
GROUP BY codigo

SELECT codigo, nome
FROM usuarios
GROUP BY codigo

Para esse problema pude contar com o Gerente de Projetos da Empresa Decisão Informática - Daniel Henrique Bonioli.

Garanto que já teve gente que precisou disso e não soube como resolver, agora fica aqui registrado para futuras pesquisas!

:D


This is a free Wordpress template provided by Mathew Browne | Web Design | SEO