PHP + Postgres (pg_user) [RESOLVIDO]

1. PHP + Postgres (pg_user) [RESOLVIDO]

Thiago Luís
thiagoluis

(usa Debian)

Enviado em 08/05/2010 - 11:07h

Estou criando um sistema de login e senha para um sistema que fiz.

E está me ocorrendo o seguinte problema:

estou fazendo consulta na tabela pg_user para verificar se o usuário e senha estão corretos, porem minha consulta não está retornando nada...

Gostaria de saber a forma correta de se fazer essa consulta, percebam que estou trabalhando diretamente no banco, apenas vou passar as variáveis do PHP quando minha consulta estiver correta.

Já tentei das seguintes formas:

SELECT * FROM pg_user WHERE usename='usuario' AND passwd = '202cb962ac59075b964b07152d234b70' //criptografando a senha md5($pass);

SELECT * FROM pg_user WHERE usename='usuario' AND passwd = 'minhasenha' //sem criptografar.


Obrigado, até mais!



  


2. PHP + Postgres(pg_user)

Thiago Luís
thiagoluis

(usa Debian)

Enviado em 08/05/2010 - 18:04h

Consegui!

Caso alguém passe pelo mesmo problema e não saiba como resolver segue abaixo a explicação.

Crie um usuário no postgres:

CREATE ROLE usuario LOGIN
ENCRYPTED PASSWORD 'senha'
NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE;


Agora verifique a senha, basta fazer a seguinte consulta "select * from pg_shadow where usename='usuario'"

Perceba que na coluna 'passwd' irá aparecer da seguinte forma: md5d364e8355cf8782a19bf7de1656a2856

Se você comparar está senha com um simples "select md5('senha');" verá que não é a mesma coisa.

select md5('senha'); resultado: 'e8d95a51f3af4a3b134bf6bb680a213a'

Para alcançar um resultado semelhante faça assim:

select md5('senhausuario'); resultado 'd364e8355cf8782a19bf7de1656a2856'

Concluindo para chegar no resultado desejado basta criar uma variável, inicializá-la com 'md5' e concatenar com o resultado da função md5(), exemplo:

$pass = 'md5';

$pass .= md5('senhausuario');

$pass é igual a 'md5d364e8355cf8782a19bf7de1656a2856'

!FIM

Achei isso em um comentário na comunidade do postgres. Até +!

:wq







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts