Gofiber
  • Basic backend dengan Gofiber part 1
    • Pengenalan Gofiber
    • Instalasi Gofiber
    • Auto reload dengan air
    • Membaca semua data di struct dengan Gofiber
    • Membaca data spesifik di struct dengan Gofiber
    • Membuat data di struct dengan Gofiber
    • Mengupdate data di struct dengan Gofiber
    • Menghapus data di struct dengan Gofiber
    • Implementasi MVC di Gofiber
  • Basic backend dengan Gofiber part 2
    • Setting database menggunahkan gorm.io di Gofiber
    • Menambahkan query ke database di Gofiber
    • Membuat relasi dengan gorm di Gofiber
    • Membuat validasi dengan validator di Gofiber
    • Membuat CORS di Gofiber
    • Menghandle serangan XSS(Cross-Site Scripting) di Gofiber
    • Mengamankan header HTTP dengan helmet di Gofiber
    • Membuat middleware menggunahkan JWT(JSON Web Token) di Gofiber
    • Menambahkan query search di Gofiber
    • Menambahkan query sort di Gofiber
    • Membuat pagination di Gofiber
    • Membuat refresh token di Gofiber
    • Membuat local upload file di Gofiber
    • Membuat server upload dengan cloudinary di Gofiber
    • Membuat analisis code dengan GolangCI-Lint di Gofiber
Powered by GitBook
On this page
  1. Basic backend dengan Gofiber part 2

Mengamankan header HTTP dengan helmet di Gofiber

Konsep keamanan header menggunakan paket github.com/gofiber/helmet/v2 memungkinkan kita untuk meningkatkan keamanan aplikasi web dengan mengatur header HTTP yang spesifik. Berikut adalah langkah-langkahnya:

Langkah-langkah:

  1. Tambahkan Middleware Helmet ke Aplikasi Fiber Anda: Middleware Helmet akan menambahkan berbagai header keamanan ke respons HTTP Anda, seperti X-Content-Type-Options, X-Frame-Options, X-XSS-Protection, dan lainnya.

  2. Perbarui Konfigurasi CORS (Opsional): Jika Anda telah mengatur konfigurasi CORS, pastikan untuk menyinkronkannya dengan header yang ditambahkan oleh Helmet.

Berikut adalah implementasi di dalam main.go:

package main

import (
	"log"

	"github.com/gofiber/fiber/v2"
	"github.com/gofiber/fiber/v2/middleware/cors"
	"github.com/gofiber/helmet/v2"
	"github.com/joho/godotenv"
	"gofiber/src/configs"
	"gofiber/src/helpers"
	"gofiber/src/routes"
)

func main() {
	err := godotenv.Load()
	if err != nil {
		log.Fatal("Error loading .env file")
	}

	app := fiber.New()

	// Middleware Helmet
	app.Use(helmet.New())

	// Middleware CORS
	app.Use(cors.New(cors.Config{
		AllowOrigins:  "*", // Atur "*" untuk mengizinkan akses dari semua origin
		AllowMethods:  "GET,POST,PUT,DELETE",
		AllowHeaders:  "*",
		ExposeHeaders: "Content-Length",
	}))

	configs.InitDB()
	helpers.Migration()
	routes.Router(app)

	app.Listen(":3000")
}

Dalam kode di atas, kita telah menambahkan middleware Helmet ke aplikasi Fiber kita menggunakan app.Use(helmet.New()). Middleware ini akan menambahkan header keamanan yang standar ke setiap respons HTTP yang dihasilkan oleh aplikasi.

Sebelum menggunakan Helmet, respons HTTP mungkin tidak memiliki header keamanan yang diperlukan untuk melindungi aplikasi dari berbagai serangan, seperti serangan XSS (Cross-Site Scripting), clickjacking, dan penyerangan bentuk MIME.

Setelah menggunakan Helmet, respons HTTP akan memiliki header keamanan yang tepat, seperti X-Content-Type-Options, X-Frame-Options, dan X-XSS-Protection, yang membantu melindungi aplikasi dari berbagai ancaman keamanan.

PreviousMenghandle serangan XSS(Cross-Site Scripting) di GofiberNextMembuat middleware menggunahkan JWT(JSON Web Token) di Gofiber

Last updated 1 year ago

Sumber :

Dokumentasi
Sebelum menerapkan Helmet
Setelah menerapkan Helmet
GitHub - zakimaliki/basic_gofiber_part_1 at aa87f6506f068b92217b87e4d132719a48680a46GitHub
Logo