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
VerifyCsrfTokenverifica 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_tokenem 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
}
});
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias