全部產品
Search
文件中心

Mobile Platform as a Service:開啟 URL 判斷邏輯

更新時間:Jul 31, 2024

為了更好的保障開啟 URL 時的 App 的安全性,可在容器調用相關 URL 之前對 URL 進行判斷,如果開啟的不是白名單內的 URL 則禁止調用。

建議在調用如下介面前進行 URL 判斷:

// 判斷開啟的 URL 是否在白名單內
NSString *urlWhiteList = @"xxxx";
NSURL *url = [NSURL URLWithString:@"https://example.com/products/xxx"];
if (![url.host isEqualToString:urlWhiteList]) {
    return;
}

// 開啟線上 URL
[[MPNebulaAdapterInterface shareInstance] startH5ViewControllerWithParams:@{@"url": @"https://example.com/products/xxx"}];

// 基於 URL 建立 vc
MPH5WebViewController *vc = (MPH5WebViewController *)[[MPNebulaAdapterInterface shareInstance] createH5ViewController:@{@"url":@"https://example.com/products/xxx"}];
重要

URL 要進行精準匹配,至少要匹配到 URI 類的 scheme 和 host 資訊,慎用或不用正則匹配,嚴格避免使用 contains、startsWith、endsWith、indexOf 等不精準函數。