sexta-feira, 27 de março de 2026

Segurança em Banco de Dados - Aula 09 🔒 Guia: Como Gerenciar Senhas com Segurança (Bcrypt)

🚀 Tutorial: Criando um Sistema de Cadastro Seguro (PHP + MySQL) Neste guia, você aprenderá a criar uma interface de cadastro que utiliza Bcrypt para proteger senhas, fugindo de métodos obsoletos como MD5.


Passo 1: Preparando o Banco de Dados Antes de rodar o PHP, precisamos da tabela no MySQL.
Copie o código abaixo e execute-o no seu phpMyAdmin:
SQL (Executar no Banco de Dados)
CREATE DATABASE IF NOT EXISTS sistema_exemplo;
USE sistema_exemplo;

CREATE TABLE IF NOT EXISTS usuarios (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nome_usuario VARCHAR(50) NOT NULL UNIQUE,
    senha_hash VARCHAR(255) NOT NULL,
    criado_em TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB;
Passo 2: O Código da Interface e Lógica (PHP + HTML) Salve o código abaixo como cadastro.php na pasta do seu servidor local (ex: htdocs). Este arquivo contém tanto o formulário quanto o código que salva no banco.
PHP + HTML (cadastro.php)
<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <title>Cadastro Seguro</title>
    <style>
        body { font-family: sans-serif; background: #f4f7f9; display: flex; justify-content: center; padding: 50px; }
        .card { background: #fff; padding: 20px; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); width: 350px; }
        input { width: 100%; padding: 10px; margin: 10px 0; border: 1px solid #ddd; border-radius: 4px; box-sizing: border-box; }
        button { width: 100%; padding: 10px; background: #1a2a6c; color: #fff; border: none; border-radius: 4px; cursor: pointer; }
        .msg { padding: 10px; margin-bottom: 10px; border-radius: 4px; text-align: center; }
        .success { background: #d4edda; color: #155724; }
    </style>
</head>
<body>
    <div class="card">
        <h2>Novo Usuário</h2>
        
        <?php
        if ($_SERVER["REQUEST_METHOD"] == "POST") {
            try {
                $pdo = new PDO("mysql:host=localhost;dbname=sistema_exemplo", "root", "");
                $hash = password_hash($_POST['senha'], PASSWORD_BCRYPT);
                
                $sql = "INSERT INTO usuarios (nome_usuario, senha_hash) VALUES (?, ?)";
                $pdo->prepare($sql)->execute([$_POST['usuario'], $hash]);
                
                echo "<div class='msg success'>✅ Cadastrado com sucesso!</div>";
            } catch (Exception $e) {
                echo "<div class='msg'>❌ Erro: " . $e.getMessage() . "</div>";
            }
        }
        ?>

        <form method="POST">
            <input type="text" name="usuario" placeholder="Usuário" required>
            <input type="password" name="senha" placeholder="Senha" required>
            <button type="submit">Cadastrar</button>
        </form>
    </div>
</body>
</html>



🚀 Guia Rápido: Como Testar seu Projeto Local
Abra o painel do XAMPP e dê Start nos módulos Apache e MySQL.
Acesse o phpMyAdmin e crie o banco de dados utilizando o primeiro bloco de código (SQL).
Salve o código da interface como cadastro.php dentro da pasta htdocs do seu XAMPP.
Abra seu navegador e acesse: http://localhost/cadastro.php
👏 👏 👏

Ótimo agora temos segurança

Nenhum comentário:

Postar um comentário