Vì bạn không chỉ định loại yêu cầu nào, tôi sẽ giả định rằng bạn có nghĩa là http (s) -triggers trên các chức năng đám mây của firebase.
Có nhiều giới hạn bạn có thể đặt để 'giảm' băng thông được tiêu thụ theo yêu cầu. Tôi sẽ viết một vài mà nói đến cái tâm của tôi
1) Hạn chế các loại yêu cầu
Nếu tất cả bạn cần là GET
và nói ví dụ như bạn không cần PUT
bạn có thể bắt đầu bằng cách trả lại 403 cho những thứ đó, trước khi bạn đi xa hơn nữa trong chức năng đám mây của bạn.
if (req.method === 'PUT') { res.status(403).send('Forbidden!'); }
2) Xác thực nếu bạn có thể
Follow Google's example here và chỉ cho phép người dùng được phép sử dụng thiết bị đầu cuối https. Bạn chỉ có thể đạt được điều này bằng cách xác minh mã thông báo like this SOF answer đến this question.
3) Kiểm tra nguồn gốc
Bạn có thể thử kiểm tra nguồn gốc của các yêu cầu trước khi đi bất kỳ hơn nữa trong chức năng điện toán đám mây của bạn. Nếu tôi nhớ chính xác, các chức năng đám mây cho phép bạn truy cập đầy đủ vào các đối tượng Yêu cầu/Trả lời HTTP để bạn có thể đặt các tiêu đề CORS thích hợp và phản hồi các yêu cầu OPTIONS trước chuyến bay.
Idea nghiệm 1
Bạn giả thuyết có thể đặt các chức năng của bạn đằng sau một load balancer/firewall, và rơ le-kích hoạt chúng. Nó sẽ ít nhiều đánh bại mục đích của tính năng mở rộng của các chức năng đám mây, nhưng nếu một hình thức DoS là mối quan tâm lớn hơn cho bạn hơn khả năng mở rộng, thì bạn có thể thử tạo một rơle công cụ ứng dụng, đặt nó sau bộ cân bằng tải/tường lửa và xử lý bảo mật ở lớp đó.
Idea nghiệm 2
Bạn có thể thử sử dụng các giải pháp tấn công ngăn ngừa mức DNS để vấn đề của bạn bằng cách đặt một cái gì đó giống như CloudFlare ở giữa. Sử dụng CNAME và Cloudflare Page Rules để ánh xạ URL tới các chức năng đám mây của bạn. Điều này có thể giả thuyết hấp thụ tác động.Như thế này:
*function1.mydomain.com/*
->https://us-central1-etc-etc-etc.cloudfunctions.net/function1/$2
Bây giờ nếu bạn đi đến
http://function1.mydomain.com/?something=awesome
bạn thậm chí có thể vượt qua params URL để chức năng của mình. Một chiến thuật mà tôi đã đọc về in this medium article trong mùa hè khi tôi cần một cái gì đó tương tự.
Cuối cùng
Trong một nỗ lực để làm cho những câu hỏi trên SOF liên kết hơn, và giúp mọi người tìm câu trả lời, here's câu hỏi khác tôi thấy rằng tương tự như trong tự nhiên. Liên kết ở đây để những người khác cũng có thể tìm thấy nó.
Cảm ơn câu trả lời của bạn. Tôi đã làm tất cả ngoại trừ Cloudfare, cảm ơn vì điều đó. Vì vậy, cuối cùng chúng ta cần phải cẩn thận về tính toán chi phí cho từng bye, yêu cầu để bảo vệ ourself cho bây giờ. –
@ LạngHoàng Rất vui được! :) Tôi vẫn sẽ làm toán, và xem nó dẫn đến đâu. Nó vẫn có thể là giá trị kiểm tra giá của Cloudflare và so sánh đó là tốt. Trong trường hợp rất cụ thể, đám mây có thể sẽ rẻ hơn. – johnozbay