Protección contra ataques CSRF en Laravel




Proteção contra ataques CSRF em Laravel

O Laravel oferece proteção contra ataques CSRF (Cross-Site Request Forgery) por padrão. O CSRF é um tipo de ataque onde sites maliciosos tentam fazer com que usuários autenticados executem ações indesejadas em sua aplicação. Laravel gera um token CSRF único para cada sessão do usuário, que é usado para verificar se a requisição veio da própria aplicação.

Conceitos chave

  • Token CSRF: Um valor único gerado para cada sessão do usuário.
  • Middleware CSRF: O middleware VerifyCsrfToken verifica se o token está presente nas requisições POST, PUT, PATCH e DELETE.
  • Campo _token: Um campo oculto que contém o token CSRF em formulários.
  • Diretiva Blade @csrf: Uma diretiva que gera o campo _token em formulários Blade.

Laravel simplifica a proteção contra ataques CSRF, garantindo que suas aplicações estejam seguras contra requisições não autorizadas.


Exemplo de proteção CSRF em Laravel

                // 1. Adicionar o token CSRF em formulários Blade
                <form method="POST" action="/perfil">
                    @csrf
                    <!-- Outros campos do formulário -->
                    <button type="submit">Salvar</button>
                </form>

                // 2. Usar o middleware VerifyCsrfToken
                // Este middleware já está habilitado por padrão em rotas web

                // 3. Exemplo de requisição AJAX com token CSRF
                $.ajaxSetup({
                    headers: {
                        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                    }
                });

                $.ajax({
                    url: '/api/perfil',
                    type: 'POST',
                    data: { /* dados do formulário */ },
                    success: function(response) {
                        // Lógica de sucesso
                    }
                });
            



Publicar un comentario

0 Comentarios