camilatigre / listamaravilhosaopensource

Lista com links de projetos open-source para os níveis: iniciante, intermediário e avançado. Dividido por linguagem e idiomas!
2.08k stars 324 forks source link

Code Challenges #129

Open AdilsonMJ opened 3 years ago

AdilsonMJ commented 3 years ago

Olá, poderia criar um code Challenges (nao sei se é assim) para a galera ter ideias de desafios de entrevistas. 🤗🤗

camilatigre commented 2 years ago

Não sei se te entendi, criar desafios na lista?

igorbalbino commented 1 year ago

Olá!

Que tal esse: Crie um método de login simples em PHP para esse formulário HTML utilizando práticas de prevenção a ataques XSS ?

<form method="post">
    <label>
        Usuário:
        <input type="text" name="username">
    </label>
    <br>
    <label>
        Senha:
        <input type="password" name="password">
    </label>
    <br>
    <input type="submit" value="Entrar">
</form>

Possível resposta:

<?php

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // Recupera dados do formulário
    $username = $_POST['username'];
    $password = $_POST['password'];

    // Remove caracteres maliciosos dos dados do formulário
    $username = htmlspecialchars($username, ENT_QUOTES, 'UTF-8');
    $password = htmlspecialchars($password, ENT_QUOTES, 'UTF-8');

    // Validação de login
    if ($username === 'admin' && $password === '123456') {
        // Inicia sessão
        session_start();

        // Armazena dados de usuário na sessão
        $_SESSION['username'] = $username;
        $_SESSION['logged_in'] = true;

        // Redireciona para página protegida
        header('Location: protected_page.php');
        exit;
    } else {
        echo 'Usuário ou senha inválidos';
    }
}

?>
gustavofreze commented 8 months ago

@AdilsonMJ no repositório desafios do backend-br tem exatamente essa ideia.