2017-12-05 16 views
6

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?

+0

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. –

+1

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

+0

@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

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