Home
Button Mobile Webdesign em Foco
Newsletter Webdesign em Foco
Support Webdesign em Foco
Contribuition Webdesign em Foco
Doe para a Webdesign em Foco
Suporte da Webdesign em Foco
Fechar

Cadastro e Login - #18 Cadastrando Hash Password

12/10/2018

Na vídeo-aula de hoje faremos a inserção da senha no banco de dados utilizando a função password_hash() do php.

Inserindo senha no DB com PHP

O programador nunca deve inserir uma senha literal em texto plano no banco de dados. O correto é sempre utilizar um hash de senha. O PHP facilita muito a nossa vida com a função password_hash().

Para fazer essa inserção, criaremos a ClassPassword:

<?php
namespace Classes;

class ClassPassword{

    #Criar o hash da senha para salvar no banco de dados
    public function passwordHash($senha)
    {
        return password_hash($senha, PASSWORD_DEFAULT);
    }
}

Uma pequena errata no nosso código: dentro do index.php na raiz do nosso site devemos colocar a include variables após o include do composer. Ficará assim:

<?php
header("Content-Type: text/html; charset=utf-8");
include("config/config.php");
include(DIRREQ."lib/vendor/autoload.php");
include(DIRREQ."helpers/variables.php");

$dispatch=new Classes\ClassDispatch();
include($dispatch->getInclusao());

Por fim, basta chamarmos o método passwordHash() criado na ClassPassword dentro da variável hashSenha do arquivo variables.php:

<?php
$objPass=new \Classes\ClassPassword();
if(isset($_POST['nome'])){$nome=filter_input(INPUT_POST,'nome',FILTER_SANITIZE_FULL_SPECIAL_CHARS);}else{$nome=null;}
if(isset($_POST['email'])){$email=filter_input(INPUT_POST,'email',FILTER_VALIDATE_EMAIL);}else{$email=null;}
if(isset($_POST['cpf'])){$cpf=filter_input(INPUT_POST,'cpf',FILTER_SANITIZE_FULL_SPECIAL_CHARS);}else{$cpf=null;}
if(isset($_POST['dataNascimento'])){$dataNascimento=filter_input(INPUT_POST,'dataNascimento',FILTER_SANITIZE_FULL_SPECIAL_CHARS);}else{$dataNascimento=null;}
if(isset($_POST['senha'])){$senha=$_POST['senha']; $hashSenha=$objPass->passwordHash($senha);}else{$senha=null; $hashSenha=null;}
if(isset($_POST['senhaConf'])){$senhaConf=$_POST['senhaConf'];}else{$senhaConf=null;}
$dataCreate=date("Y-m-d H:i:s");
$token=bin2hex(random_bytes(64));
$arrVar=[
    "nome"=>$nome,
    "email"=>$email,
    "cpf"=>$cpf,
    "dataNascimento"=>$dataNascimento,
    "senha"=>$senha,
    "hashSenha"=>$hashSenha,
    "dataCreate"=>$dataCreate,
    "token"=>$token,
];
Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

Posts Relacionados

Cadastro e Login - #17 Validate Isset Email
Vamos trabalhar hoje com uma segunda implementação de validação do nosso email, checando no banco de dados se o email já está cadastrado.
Saiba mais!
Cadastro e Login - #19 Validate Password
No tutorial de hoje aprenderemos como realizar a validação da senha no cadastro. Verificaremos a força da senha e se a senha está igual a confirmação de senha.
Saiba mais!
Cadastro e Login
Neste curso vamos aprender a criar um sistema completo de cadastro e login.
Saiba mais!