Untuk meningkatkan keamanan aplikasi saat membuka URL, lakukan validasi terhadap setiap URL sebelum Kontainer memanggilnya. Jika URL tersebut tidak termasuk dalam daftar putih, blokir pemanggilan tersebut.
Lakukan validasi URL sebelum memanggil antarmuka berikut:
// Periksa apakah URL ada dalam daftar putih.
NSString *urlWhiteList = @"xxxx";
NSURL *url = [NSURL URLWithString:@"https://example.com/products/xxx"];
if (![url.host isEqualToString:urlWhiteList]) {
return;
}
// Buka URL online.
[[MPNebulaAdapterInterface shareInstance] startH5ViewControllerWithParams:@{@"url": @"https://example.com/products/xxx"}];
// Buat view controller (vc) berdasarkan URL.
MPH5WebViewController *vc = (MPH5WebViewController *)[[MPNebulaAdapterInterface shareInstance] createH5ViewController:@{@"url":@"https://example.com/products/xxx"}];Penting
Lakukan pencocokan ketat pada URL yang mencakup setidaknya skema dan host dari URI. Gunakan ekspresi reguler dengan hati-hati atau hindari penggunaannya. Jangan gunakan fungsi yang tidak presisi seperti contains, startsWith, endsWith, atau indexOf.