mPaaS では、すべての JavaScript API(JSAPI)に対してアクセス制御を追加することをお勧めします。アクセス制御を追加するためにプロバイダーを設定できます。
プロバイダーを制御する権限をカスタマイズします。
public class H5JSApiPermissionProviderImpl implements H5JSApiPermissionProvider { @Override public boolean hasDomainPermission(String jsapi, String url) { // このメソッドは、すべての URL からの JSAPI リクエストを検証し、安全な URL からのリクエストのみを許可します。値 true は JSAPI を呼び出すことができることを示します。値 false は JSAPI を呼び出すことができないことを示します。 // 注: 次のコードは参照用です。必要に応じて URL と JSAPI を検証できます。 // NullPointerException を防ぐために、JSAPI、URL、および URI のパラメーターが null かどうかを確認する必要があります。 Uri uri = Uri.parse(url); String domain = uri.getHost(); String scheme = uri.getScheme(); if (!TextUtils.isEmpty(domain) && domain.equals("www.example.com") && "https".equals(scheme)) { return true; } else { return false; } } @Override public boolean hasThisPermission(String jsapi, String url) { // デフォルトでは値 false が返されます。 return false; } }重要URL は完全一致である必要があります。少なくとも URI クラスのスキームとホスト情報は一致する必要があります。正規表現によるマッチングは使用しないか、注意して使用してください。 contains、startsWith、endsWith、indexOf などの不正確な関数の使用は避けてください。
mPaaS が初期化された後、HTML5 コンテナが呼び出される前にプロバイダーを設定します。
H5Utils.setProvider(H5JSApiPermissionProvider.class.getName(), new H5JSApiPermissionProviderImpl());