Chúng tôi có một ứng dụng có nhiều giải pháp danh sách trắng cho khách hàng - nghĩa là chúng được lưu trữ trong miền của riêng họ.Làm thế nào để tự động thay đổi danh sách trắng Cordova?
Chúng tôi có một ứng dụng Cordova và chúng tôi muốn người dùng có thể truy cập tất cả các trang web này bằng ứng dụng này, nhưng Tôi không muốn triển khai lại mỗi khi chúng tôi ký một ứng dụng khách mới.
- có cách nào để tải danh sách trắng thông qua url hay gì đó không? Điều này có nghĩa là chúng tôi có thể thêm các tên miền khi di chuyển qua cơ sở dữ liệu của chúng tôi.
- có rủi ro bảo mật lớn khi bạn liệt kê tất cả các url không?
https://cordova.apache.org/docs/en/latest/guide/appdev/whitelist/
Ví dụ
Để làm rõ, tôi rất thích có một cái gì đó giống như một URL mà bạn có thể trỏ đến nơi nó tải mọi khi khởi động các thiết lập danh sách trắng.
http://myexampledomain.com/whitelist.config
<allow-navigation href="*.myexampledomain.com/*" />
<allow-navigation href="*.subdomain.someclientdomain.com/*" />
<allow-navigation href="*.subdomain.someclientdomainb.com/" />
<allow-navigation href="*.subdomain.someclientdomainc.com/" />
... tập tin này sẽ được tự động tải khi khởi động.
Tạo một JS dựa Plugin
Nếu không có giải pháp hiện tại, là nó có thể làm điều này an toàn bằng cách tạo ra một (dựa JavaScript) Cordova plugin? Giống như chuyển hướng thủ công khi URL chúng tôi cố gắng tải nằm ngoài danh sách cho phép?
Điều này có nghĩa là chúng tôi sẽ Cordova-whitelist tất cả mọi thứ và sử dụng plugin của riêng chúng tôi để chặn tất cả mọi thứ bên ngoài danh sách trắng của riêng chúng tôi.
(Tôi biết đây không phải là an toàn khi cơ sở dữ liệu của chúng tôi bị tổn thương, nhưng trong trường hợp đó chúng ta có vấn đề lớn hơn nói chung. Ứng dụng của chúng tôi là để cho vui và không dựa vào chức năng quan trọng)
tôi không nghĩ rằng có một cách thẳng về phía trước. Một cách tiếp cận mà tôi có thể nghĩ là cho phép chuyển hướng thành * ký tự đại diện và định tuyến tất cả các yêu cầu đến phía máy chủ xử lý việc lọc yêu cầu trong bộ lọc và chuyển hướng đến các URL tương ứng – Gandhi
Dirk, (các) nền tảng mục tiêu của bạn là gì ? Nếu iOS được bao gồm thì tôi e rằng không có gì bạn có thể dễ dàng làm. Điều này là do theo danh sách trắng tài liệu dường như sử dụng [NSAppTransportSecurity] (https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW33) bên trong sẽ chuyển đến tệp thuộc tính của ứng dụng đã biên dịch (gói). Và cấu hình đó được xử lý bởi khung công tác Mạng của iOS/Apple để bạn không thể thay đổi cấu hình "khi đang di chuyển". Vì vậy, plugin tùy chỉnh của bạn có lẽ là cách duy nhất. – SergGr