Tôi có nhiều đường dẫn trong cơ sở dữ liệu Firebase của tôi cho phép đọc mà không cần xác thực. Làm cách nào để ngăn người gửi spam? Điều gì sẽ xảy ra nếu ai đó viết một chương trình và liên tục gửi yêu cầu để đọc tất cả các đường dẫn trong db của tôi? Có cách nào để ngăn chặn số lượng yêu cầu lặp lại từ một IP cụ thể không?Cơ sở dữ liệu Firebase ngăn các yêu cầu spam trên đường dẫn đọc mà không cần xác thực?
6
A
Trả lời
2
Tôi không biết tình hình của bạn là gì, chỉ có đó là một trang web, nhưng nếu bạn muốn tạo bộ lọc ip, bạn có thể tạo một phương thức.
Nếu bạn có thể chuyển thông tin từ tệp php, bạn có thể phân tách quyền truy cập bằng cách sử dụng .htaccess cho url chuyển hướng có tham số tới tệp php, nơi có thể truy cập vào cơ sở dữ liệu bằng xác thực, trước tiên hãy xác minh địa chỉ IP một bảng khác.
Phương pháp này là một triển khai, nhưng có thể chỉ định vấn đề của bạn bằng cách sử dụng chỉ một tệp php. Đây là phương thức link, nhưng chỉ khi bạn muốn che dấu dữ liệu.
Nếu bạn thực hiện việc này, bạn cần phải ghi lại tất cả url của bạn từ firebase đến php đó, như tôi đã nói trước khi tôi không biết tình hình.
Tôi hy vọng tôi đã giúp bạn.
Các vấn đề liên quan
- 1. Có cơ sở dữ liệu chống spam miễn phí không?
- 2. Nhận đường dẫn cơ sở dữ liệu
- 3. PHP Symfony2 xác thực tùy chỉnh mà không cần cơ sở dữ liệu (SOAP)
- 4. Yêu cầu xác thực lại Firebase
- 5. Xác thực mẫu trong PHP yêu cầu tương tác với cơ sở dữ liệu
- 6. Xác thực Firebase/Firechat với người dùng hoặc cơ sở dữ liệu Wordpress
- 7. API cơ sở dữ liệu HTML5: Yêu cầu đồng bộ
- 8. Firebase - thêm quy tắc cơ sở dữ liệu - Đường dẫn chứa các ký tự không hợp lệ
- 9. Xác thực tương tác cơ sở dữ liệu asp.net mvc
- 10. Cài đặt nhóm Firebase - pod 'Firebase/Cơ sở dữ liệu' - Yêu cầu mục tiêu triển khai tối thiểu cao hơn
- 11. Bạn có cần giao dịch cơ sở dữ liệu để đọc dữ liệu không?
- 12. Làm cách nào để loại trừ đường dẫn yêu cầu xác thực cơ bản trong Sinatra
- 13. CRTP - Kiểm tra từ lớp cơ sở mà lớp dẫn xuất đáp ứng các yêu cầu
- 14. Cần xóa khóa MySQL InnoDB mà không cần khởi động lại cơ sở dữ liệu
- 15. Rails - làm thế nào tôi có thể thực hiện một yêu cầu mà không đánh cơ sở dữ liệu?
- 16. Cơ sở dữ liệu và xác thực Jenkins
- 17. Blockchain phân cấp cơ sở dữ liệu trên đường ray
- 18. Làm cách nào để tắt xác thực yêu cầu mà không cần đặt RequestValidationMode thành 2.0?
- 19. AWS sẽ tương đương với Cơ sở dữ liệu thời gian thực Firebase là gì?
- 20. SQLite: cơ sở dữ liệu chỉ đọc
- 21. Cập nhật cơ sở dữ liệu sqlite mà không cần XML
- 22. Khôi phục cơ sở dữ liệu trong Firebase
- 23. IOError: lỗi đọc dữ liệu yêu cầu
- 24. Trình lắng nghe Cơ sở dữ liệu Firebase không kích hoạt sau một thời gian khi được xác thực
- 25. Gọi cơ sở dữ liệu Firebase từ Google App Engine
- 26. Postgres thiết lập cơ sở dữ liệu trên Cloud9 yêu cầu sudo mật khẩu
- 27. Truy vấn kiểu cơ sở dữ liệu với Firebase
- 28. Cần tạo cơ sở dữ liệu mới mà không cần sử dụng studio quản lý
- 29. Các khóa ngoại có thực sự cần thiết trong thiết kế cơ sở dữ liệu không?
- 30. Firebase - Cách ghi/đọc dữ liệu cho mỗi người dùng sau khi xác thực
Không có bộ lọc nào theo IP trong các quy tắc bảo mật. Nhưng có những điều chắc chắn bạn có thể làm trong các quy tắc bảo mật của mình để làm cho việc lạm dụng trở nên khó khăn hơn. Cách tiếp cận chính xác sẽ phụ thuộc vào sự lạm dụng cụ thể mà bạn đang cố gắng ngăn chặn. Vì vậy, hãy nghĩ về điều gì đó mà kẻ tấn công có thể làm, viết (và nếu bạn muốn được trợ giúp: * chia sẻ *) mã tối thiểu mà họ có thể sử dụng để thực hiện điều đó, sau đó viết các quy tắc bảo mật khiến mã lạm dụng thất bại trong khi vẫn giữ mã ứng dụng thực. Nếu không có cách nào để phân biệt giữa mã ứng dụng của bạn và mã độc hại thì sẽ rất khó để bảo mật. –
Tôi nghĩ rằng @FrankvanPuffelen đã đề cập đến nó bằng bình luận của anh ấy. Nhận xét bổ sung của tôi là nếu một ứng dụng được tạo ra có dữ liệu có thể được đọc mà không có xác thực thì tại sao cố gắng để ngăn chặn dữ liệu đó được đọc mà không có xác thực? nghĩa là truy cập trực quan để mở dữ liệu đó cho bất kỳ ai và sau đó cố gắng giới hạn quyền truy cập. Nó sẽ không an toàn hơn để yêu cầu xác thực để đọc dữ liệu ở nơi đầu tiên? Có lẽ bạn có thể cung cấp một trường hợp sử dụng cụ thể là lý do tại sao bạn có dữ liệu có sẵn trong mở và chúng tôi có thể đề xuất một thiết kế thay thế để bảo đảm dữ liệu đó? – Jay
@Jay Tôi đang sử dụng db cơ sở dữ liệu cho Trang web, không phải cho ứng dụng dành cho thiết bị di động. Tôi muốn ngăn người dùng liên tục gửi yêu cầu. Trong sử dụng bình thường, một người sử dụng hợp pháp sẽ không gửi hơn 100 trong một ngày (bình thường sẽ là 10 hoặc 20) vào trang web của tôi. Một số kẻ cạo dữ liệu, gửi hàng nghìn yêu cầu để lấy dữ liệu từ trang web của tôi. Vì vậy, tôi muốn ngăn chặn các yêu cầu lặp lại nếu nó vượt quá 100 cho mỗi IP. – user43286