Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 124
Sexo: Masculino

Como criptografar senhas e login de banco de dados?

18-02-2013 01:29

Olá, olha eu aqui mais uma vez! :P Estou meio que "apanhando" do MySQL, fazer conexão com o config.php e criptografar a senha dele para não ficar visível no código... Vulnerável a ataques...

Eu quero saber como criptografar a senha do meu banco de dados, e também se possível do login do banco de dados, e conseguir autenticar.

Como eu faço isso pelo amor de Deus?
1
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Como criptografar senhas e login de banco de dados?

18-02-2013 07:42

Você pode salvar uma senha criptografada no bd, o que traz mais segurança para os usuários e para você.
O modo mais comum é usar a função md5(). É feito da seguinte forma:

Quando você, ou seu usuário cadastrar uma senha, antes dessa senha chegar ao bd, ela será criptografada, por exemplo:

$senha = md5($_POST['senha']);

Nesse caso, a senha digitada pelo usuário, já vai para um campo no banco de dados criptografada. Já para fazer a autenticação, ou seja, para comparar uma senha digitada no login, com o valor criptografada no bd, você deve fazer praticamente a mesma coisa.

$senha = md5($_POST['senha']);

Só que agora, você vai comparar

SELECT colunas FROM suatabela WHERE senha='$senha'

Note ai, que o valor digitado pelo usuário, que vai ficar armazenado em $senha, é criptografado, da mesma forma que foi feita na inserção dos dados, depois, comparada com o valor já salvo, usando o SELECT.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 124
Sexo: Masculino

Como criptografar senhas e login de banco de dados?

18-02-2013 13:11

Oi, olha eu quero criptografar a senha do banco de dados do meu arquivo wp-config.php do Wordpress. Ai nesse arquivo tem assim:

// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', 'nome_do_bd'); /** MySQL database username */ define('DB_USER', 'usuario_bd'); /** MySQL database password */ define('DB_PASSWORD', 'minhasenha_bd'); /** MySQL hostname */ define('DB_HOST', 'host_bd'); /** Database Charset to use in creating database tables. */ define('DB_CHARSET', 'utf8'); /** The Database Collate type. Don't change this if in doubt. */ define('DB_COLLATE', '');

Em qual linha dessas eu coloco esse código pra criptografar?
$senha = md5($_POST['senha']);

E eu posso criptografar a senha "minhasenha_BD" ai no código e já colocar a senha criptografada em MD5 diretamente nesse arquivo?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Como criptografar senhas e login de banco de dados?

18-02-2013 14:02

Você pode fazer o seguinte:

Pega um arquivo .php, e coloca esse códgo:

echo md5("12345");

Onde está 12345 você coloca a sua senha. Ai roda pelo navegador. Pega o código gerado, e coloca no seu arquivo

/** MySQL database password */
define('DB_PASSWORD', 'código gerado aqui');

Agora, sua senha está criptografada no arquivo. Já para conexão com o bd, você usa a variável da senha, e compara com sua coluna no bd.

Esse código criptografado que você gerou, tem que estar no bd também.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 124
Sexo: Masculino

Como criptografar senhas e login de banco de dados?

18-02-2013 14:26

Eu fiz esse arquivo "criptografar.php" com o código:

echo md5 ("minhasenha");

Rodei no navegador e gerou a senha criptografada com 32 caracteres.

Coloquei a senha criptografada em:

/** MySQL database password */
define('DB_PASSWORD', 'minhasenhacriptografada_bd');


Só que quando fui acessar o meu blog, ele ficou fora do ar com a seguinte mensagem:

"Error establishing a database connection"

Acho que não antenticou com a senha criptografada?

Depois fui no meu painel web para mudar a senha não criptografada pela criptografada, para ver se autenticava, só que quando inseri a senha criptografada de 32 caracteres disse:
Error: Password is too long (>= 32 characters)
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Como criptografar senhas e login de banco de dados?

18-02-2013 16:19

Seu servidor não suporta senha tão grande. Eu pensei que você ia usar essa senha em outra situação. Nesse caso o md5() não vai adiantar para você.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 124
Sexo: Masculino

Como criptografar senhas e login de banco de dados?

18-02-2013 16:21

Então como eu faço nesse caso para aplicar segurança no banco de dados do blog?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Como criptografar senhas e login de banco de dados?

18-02-2013 16:31

Você está receoso que peguem ou vejam se arquivo config?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 124
Sexo: Masculino

Como criptografar senhas e login de banco de dados?

18-02-2013 16:35

Sim, e também porque eu quero saber como fazer esse método de segurança para deixar meus bancos de dados menos vulneráveis a ataques. Inclusive porque pretendo instalar um script de afiliados em meu servidor, e quero fazer a criptografia das senhas de usuários.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Como criptografar senhas e login de banco de dados?

18-02-2013 16:39

Acho que uma das formas de tornar o arquivo mais seguro é criptografar o arquivo, como esse exemplo http://www.codigosnaweb.com/Criptografi ... 1-PHP.html

Existe programas que criptografa melhor, mas tem que procurar.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 124
Sexo: Masculino

Como criptografar senhas e login de banco de dados?

01-03-2013 00:02

Hum, mas no caso da senha exposta no arquivo de conexão de banco de dados do blog? Como eu faço pra proteger? Será que a senha não deu de 32 caracteres porque o servidor não usa o CPanel? Meu servidor tem um painel administrativo próprio, não é o CPanel. Será que teve a ver com isso?

Estou com uma determinada preocupação quanto ao assunto...
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Como criptografar senhas e login de banco de dados?

01-03-2013 08:13

Se você tem acesso ao phpmyadmin, e pode alterar o tamanho "char ou varchar" da coluna que tem a senha, ela será permitida.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Mensagens: 1309
Sexo: Masculino

Re: Como criptografar senhas e login de banco de dados?

27-02-2017 18:11

Olá! Fiz uma busca pelo site, e o resultado que mais se aproximou do que preciso foi o deste tópico.

No meu código em desenvolvimento, quando do cadastro do usuário, a senha é gerada automaticamente. É gerada como referido neste tópico. Caso o usuário perdesse a senha, na página de login, disponibilizei a geração de outra. Tudo está funcionando bem.

Porém, eu pretendo que, após se cadastrar, e ao acessar a área restrita pela primeira vez, o usuário troque de senha, colocando uma de sua escolha. Isso eu esbocei, já criando os campos de inserção da senha e de sua confirmação, com as validações, o que também está funcionando.

Mas andei vendo umas validações de senhas fracas e fortes, com mudança de cores conforme sejam umas outras. Não preciso de tudo isso. Caso o usuário crie uma senha que o sistema considere forte sem ser, não quero que ele venha dizer que o sistema disse que a senha era forte. Não sei se fui compreendido.

Eu gostaria de estabelecer, no mínimo, a quantidade de caracteres (fixei em oito), ao menos uma letra maiúscula, números e letras minúsculas.

Vi vários códigos, testei alguns, entre os quais os abaixo:

if(preg_match("/^(?=.*\d)(?=.*[a-zA-Z])(?!.*[\W_\x7B-\xFF]).{8}$/", $senha)){ echo "MENSAGEM"; } if(preg_match("/^.*(?=.{8})(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).*$/", $senha)){ echo "MENSAGEM"; }

Mas algo está dando errado. Li alguns tutoriais sobre expressões regulares, mas não consegui identificar o erro. É possível me ajudar a identificar? Se precisar, postarei o código com os campos de formulário.

Grato.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Como criptografar senhas e login de banco de dados?

27-02-2017 19:14

Montei uma função PHP que verifica:

- Exatamente 8 caracteres para senha;
- Somente letras e números;
- Pelo menos 1 número;
- Pelo menos uma letra maiúscula;
- Pelo menos uma letra minúscula.

<?php function Verifica_Senha($senha) { $resposta = ""; if(!preg_match("/^[a-zA-z0-9]{8}$/", $senha)){ // 8 caracteres - letras e números $resposta.= "Sua senha não contém exatamente 8 letras e números<br />"; } elseif(strtolower($senha)==$senha) { $resposta.= "não há letras MAIÚSCULAS na sua senha<br />"; // letras MAIÚSCULAS } elseif(strtoupper($senha)==$senha) { $resposta.= "não há letras minúsculas na sua senha<br />"; // letras minúsculas } elseif(!preg_match("~[0-9]~", $senha)) { $resposta.= "não há números na sua senha<br />"; // números }else { $resposta.= "Tudo correto!"; // passou } return $resposta; } echo Verifica_Senha("A123456a"); ?>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Mensagens: 1309
Sexo: Masculino

Re: Como criptografar senhas e login de banco de dados?

27-02-2017 20:01

Obrigado. Vou ver. Logo postarei.
0
 
Mais de 1000 postagens
Mais de 1000 postagens
Mensagens: 1309
Sexo: Masculino

Re: Como criptografar senhas e login de banco de dados?

28-02-2017 07:40

Vou testar o código. Este tópico não aparece em "MEUS TÓPICOS". Nesta seção aparecem somente os tópicos que crio? Se for, tem como aparecerem os de que participo sem tê-los criado?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Como criptografar senhas e login de banco de dados?  #resolvido

28-02-2017 10:14

Para ver todos seus posts você tem que ir nesse link search.php?author_id=5167&sr=posts
Ou, clica no seu usuário e vai no seu perfil de usuário memberlist.php?mode=viewprofile&u=5167
E clica em Pesquisar mensagens do usuário
E se sua postagem é recente pode ver os 10 últimos posts na lateral direita da página principal do fórum Postagens recente
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Mensagens: 1309
Sexo: Masculino

Re: Como criptografar senhas e login de banco de dados?

01-03-2017 19:43

Entendi. Salvei essa informação num arquivo no computador. Obrigado.
0

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado