Mở rộng WebViewClient
, tôi gạt phương pháp shouldOverrideUrlLoading
như sau:
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
String mainPage = "https://www.secureSite.com/myData/";
if (url.startsWith(mainPage)) {
view.loadUrl(url);
return false;
} else {
//some dialog building code here
view.stopLoading();
return false;
}
} // end-of-method shouldOverrideUrlLoading
Vì vậy, các điểm mã này là nó đánh giá mỗi URL mà ứng dụng của bạn bắt đầu tải. Nếu người dùng tìm thấy liên kết hoặc cố gắng tải URL của riêng họ KHÔNG phải là một phần của miền của bạn/URL được chỉ định, thì URL đó sẽ không khớp và sẽ không tải.
Nhưng trong tệp kê khai Android của bạn, bạn nên đặt thuộc tính android:exported
thành false
để ngăn các ứng dụng khác sử dụng nó.
Trích dẫn dưới đây từ here:
android: xuất khẩu hay không các thành phần của ứng dụng khác có thể gọi dịch vụ hoặc tương tác với nó - "true" nếu họ có thể, và "false" nếu không. Khi giá trị là "false", chỉ các thành phần của cùng ứng dụng hoặc ứng dụng có cùng ID người dùng mới có thể bắt đầu dịch vụ hoặc liên kết với nó.
Giá trị mặc định tùy thuộc vào việc dịch vụ có chứa bộ lọc chủ định hay không. Sự vắng mặt của bất kỳ bộ lọc nào có nghĩa là nó có thể được gọi chỉ bằng cách xác định tên lớp chính xác của nó. Điều này ngụ ý rằng dịch vụ này chỉ dành cho việc sử dụng nội bộ ứng dụng (vì những người khác sẽ không biết tên lớp). Vì vậy, trong trường hợp này, giá trị mặc định là "false". Mặt khác, sự hiện diện của ít nhất một bộ lọc ngụ ý rằng dịch vụ được thiết kế để sử dụng bên ngoài, vì vậy giá trị mặc định là "true".
Thuộc tính này không phải là cách duy nhất để hạn chế việc tiếp xúc dịch vụ với các ứng dụng khác. Bạn cũng có thể sử dụng quyền hạn chế các thực thể bên ngoài có thể tương tác với dịch vụ (xem thuộc tính quyền).
Thuộc tính này cũng có thể được sử dụng trong một số Activity
và Provider
. Here (hoạt động) và here (nhà cung cấp) là tham chiếu, nhưng nó là khá nhiều từ cho giống như mô tả Service
, chỉ cần thay thế Activity
hoặc Provider
cho Service
.
Tôi đề xuất sử dụng https hoặc mã hóa khác để ẩn yêu cầu khỏi các tin tặc tiềm năng. –
vâng, tôi biết về https – monyag