loading...
Cover image for Como tornar sua API express mais segura com Helmet

Como tornar sua API express mais segura com Helmet

gabrielrufino profile image Gabriel Rufino ・2 min read

Segurança é assunto sério! Você tem se preocupado com a segurança de suas APIs?

Quando se trata de APIs contruídas com Express.js, 1 passo simples pode ajudar você a aumentar o nível de segurança do seu sistema: a biblioteca Helmet.

Helmet Website

Quem é Helmet?

Helmet é uma biblioteca para Express.js que agrega 12 middlewares simples, responsáveis por setar alguns headers nas respostas HTTP.

Vamos fazer um exemplo simples logo a seguir:

Exemplo simples

$ mkdir my-api
$ cd my-api
$ npm init -y
$ npm install express --save

Crie um arquivo index.js:

const express = require('express')

const app = express()

app.get('/', (request, response) => {
  return response.json({
    api: 'live'
  })
})

app.listen(3000)

Inicie o servidor:

$ node index.js

Perceba os headers retornados pela requisição sem o uso do helmet:

Insomnia

Vamos incluir o helmet em nossa API. Primeiro, faça a instalação do package:

$ npm install helmet --save

Importe e inclua no app express da seguinte forma:

const express = require('express')
const helmet = require('helmet')

const app = express()

app.use(helmet())

app.get('/', (request, response) => {
  return response.json({
    api: 'live'
  })
})

app.listen(3000)

Reinicie o servidor:

$ node index.js

Conheça os novos headers setados pelo helmet:

Insomnia

Esses headers adicionam o nível a mais de segurança em sua API. Como por exemplo o Strict-Transport-Security, que permite que um site informe aos navegadores que ele deve ser acessado apenas por HTTPS, em vez de usar HTTP.

Alguns middlewares vêm ativados por padrão, outros não. Saiba mais em https://helmetjs.github.io/

Até a próxima!

Posted on Jun 3 by:

gabrielrufino profile

Gabriel Rufino

@gabrielrufino

Fullstack Developer around JavaScript stack. Solving problems, generating value!

Discussion

markdown guide