Code4Sec Limiter in gofiber

ryudokung
Jan 14, 2021

--

Code4Sec วันนี้ยังอยู่กับ gofiber โดยทางผู้เขียน อยากให้ดูว่าการใช้ freamwork นั้นสามารถนำสิ่งที่ผู้พัฒนาสร้างไว้ให้เรานำมาใช้ได้ง่ายขนาดไหน โดยวันนี้จะเป็นเรื่องการทำ Limiter ของ gofiber นั่นเองครับ

โดยปกติ การทำ Limiter สามารถทำได้ทำง่ายๆที่ WebServer แต่เราก็สามารถทำได้ที่ gofiber เช่นกัน ตัวอย่าง Code

โดยส่วนที่เพิ่มมาคือ import limiter และเรียกใช้

github.com/gofiber/fiber/v2/middleware/limiter

ส่วนที่เรียกใช้

app.Use(limiter.New())

โดยการเรียกทำ limiter ของส่วนที่เรียกใช้จะเป็นค่า default ลอง compile กันก่อน

โดยการ compile ครั้งแรกจะสามารถ access server ได้ และลองทำการ request ติดๆกัน 5 ครั้งจะปรากฏ too many request ขึ้น

โดยการทำแบบนี้จะเป็นการป้องกันไม่ให้มีการเรียกใช้งาน webServer มากๆ หรือป้องกัน brute force attack , web crawling ก็สามารถป้องกันได้ด้วยวิธีนี้และหากผู้ชมต้องการที่จะ custom limiter เกี่ยวกับ duration การ request ก็สามารถศึกษาเพิ่มเติมได้ที่ https://docs.gofiber.io/api/middleware/limiter ครับ

--

--