2012-11-19 36 views
18

Tôi đang sử dụng ContentProvider trong ứng dụng Android của mình để chia sẻ cơ sở dữ liệu giữa ứng dụng. Để chia sẻ cơ sở dữ liệu tôi cần thêm khả năng tiếp cận nhà cung cấp trong AndroidManifest.xml như như sau:Nhà cung cấp nội dung đã xuất có thể cung cấp quyền truy cập vào dữ liệu nhạy cảm có thể

<provider 
android:name="Contentprovider" 
android:authorities="umb.con.apps.vid" /> 

tôi bổ sung và thực hiện thành công nhưng thông điệp cảnh báo hiển thị trong thẻ <provider/> như thế này "cung cấp nội dung xuất khẩu có thể cung cấp quyền truy cập vào khả năng nhạy cảm dữ liệu". Nó sẽ gây ra bất kỳ vấn đề an ninh trong tương lai?

Trả lời

36

Nếu bạn chỉ muốn cung cấp nội dung được truy cập nội bộ từ bên trong ứng dụng của bạn, chỉ cần thêm

android:exported="false" 

vào nút trong biểu hiện.

Từ doc:

sai: Nhà cung cấp là không có sẵn cho các ứng dụng khác. Đặt android: exported = "false" để giới hạn quyền truy cập vào nhà cung cấp đối với các ứng dụng của bạn. Chỉ những ứng dụng có cùng ID người dùng (UID) là nhà cung cấp mới có quyền truy cập vào nó.

Nếu, mặt khác, bạn thực sự muốn để lộ dữ liệu của bạn để ứng dụng khác nhưng bạn cũng có dữ liệu nhạy cảm trong lưu trữ dữ liệu của bạn, hãy nhớ rằng bạn có thể có nhiều hơn một nhà cung cấp nội dung và do đó phơi bày chỉ "công khai".

+1

Cũng lưu ý rằng điều này là mặc định nếu bạn đang nhắm mục tiêu 4.2 (API cấp 17). –

+2

Làm cách nào để bạn có thể nhận được cảnh báo nếu bạn không cung cấp dữ liệu cho bất kỳ ứng dụng nào khác? Công cụ – pat8719

+1

@ pat8719: ignore = "ExportedContentProvider" trong tệp kê khai xml – Ian1971

8

Ngoài ra nếu bạn chắc chắn rằng bạn muốn cho phép truy cập bên ngoài để cung cấp nội dung của bạn và im lặng cảnh báo thêm tools:ignore="ExportedContentProvider"

ví dụ

<provider 
tools:ignore="ExportedContentProvider" 
android:exported="true" 
android:name="Contentprovider" 
android:authorities="umb.con.apps.vid" /> 
+1

Hãy chắc chắn bao gồm tiền tố không gian tên XML cho 'công cụ' trong thẻ' manifest' của bạn: '' –

Các vấn đề liên quan