Nesse artigo ilustrarei de uma maneira simples como se desenvolver um sistema de autenticação em PHP usando sessões MySQL. A simplicidade é tamanha que mais uma vez mostra-se o poder do PHP.
Dentre as inúmeras linguagens de desenvolvimento para web que existem por aí, não há a mínima dúvida de que o PHP reina entre elas. Uma linguagem simples e ao mesmo tempo tão poderosa, usada em todo o mundo, com capacidade para manipular uma vasta gama de banco de dados, entre os quais se destacam os três mais usados:
MySQL
PostgreSQL
Oracle
Neste artigo, usarei como base o MySQL, por já ser bastante funcional e mais comumente usado com o PHP. Este artigo não ensina como desenvolver um sistema de autenticação seguro, apenas ilustra como funciona, na base, um sistema mais eficiente, desses usados em sites de médio porte.
[2] Comentário enviado por Bolche em 04/10/2006 - 09:51h
Seria interessante se você escapasse a senha e o nome de usuário com mysql_real_escape() pois caso contrário, em alguns servidores haveria brecha para fazer um SQL injection.
[5] Comentário enviado por rodrigo.dfreitas em 05/10/2006 - 17:04h
Bom artigo, eu só acrescentaria duas coisas, primeiro um tratamento nos dados recebidos de login e senha, algo como sugerido acima e segundo na hora da conexao você poderia usar o pconnect no lugar do connect, assim o php manteria apenas uma conexao pra todas as sessoes abertas tornando muito mais facil a vida do mysql.
[6] Comentário enviado por patrickbrandao em 08/10/2006 - 11:22h
Huahau! Seu sistema de login é moleza de hackear,
se usar login e senha:
' or '1'='1
Vai passar!
Faça assim: substitua as aspas simples por \' no texto digitado pelo usuário.
A tecnica acima se chama "sql injection", tome nota em todos os sistemas que tenha usado isso. Eu ja entrei em milhas de www.algumacoisa.com.br/admin/ com essa tecnica.
[9] Comentário enviado por agk em 24/10/2006 - 17:04h
Bom o artigo, dá pra ter uma noção, pra quem nunca fez nada em php+mysql consegue aprender alguma coisa.
Quanto a segurança o autor cita que não está levando isso em consideração no artigo, tudo bem podemos até deixar isso de lado em um primeiro instante, mas assim que for possível é bom aprender um pouco sobre tratamento de variáveis.
Não entendi porque foi criado a tabela distro, se foi meramente por criar, já que ela não está associada ao usuário, então o resultado será sempre o primeiro da tabela, no caso slackware.
É isso, [ ]'s.
[10] Comentário enviado por lavoie em 27/12/2006 - 11:39h
bem, nao entendo quase nada, para nao dizer nada de php e mysql, mas se alguem puder me ajudar com alguma dica para começar,
queria montar um sistema:
1º Cadastro de usuario de internet.
2º Os usuarios pudessem alterar os proprios dados acessando o servidor pelo navegador dentro da rede.
Tenho servidor linux, rodando, apache2 , mysql, php5, phpmyadmin
[16] Comentário enviado por removido em 05/02/2009 - 12:20h
Ow amigo realmente muito bom esse topico ... só que estou precisando da sua ajuda, implemente esse esquema de autenticação ao meu site... Funcionou que uma blz ... só que agora estou precisando de um esquema para ele registrar os usuarios ao banco mysql... Se possivel me ajudar ficaria muito Grato ....
[19] Comentário enviado por albert cruz em 22/02/2010 - 11:45h
Luis, sei que seu post eh antigo mas estou estudando isso agora, fiz tudo que vc mandou mas nao consigo sucesso, nao conecto no banco de dados, me tire algumas duvidas. No conecta.php, quais dados devo preencher as variaveis, o login e senha sera do acesso ao mysql ou dos nome ficticios que criei a base de dados?
grato