mPaaS では、すべての JavaScript API(JSAPI)に対してアクセス制御を追加することをお勧めします。アクセス制御を追加するためにプロバイダーを設定できます。
カスタムのアクセス制御プロバイダーを設定します。
public class H5JSApiPermissionProviderImpl implements H5JSApiPermissionProvider { @Override public boolean hasDomainPermission(String jsapi, String url) { // このメソッドでは、すべての URL に対するすべての JSAPI リクエストを検証します。セキュアな URL のみを許可します。 // true は JSAPI が呼び出し可能であることを意味し、false は呼び出し不可であることを意味します。 // 注:このコードはリファレンス用です。必要に応じて 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 が初期化された後、コンテナーが呼び出される前にプロバイダーを設定します。
H5Utils.setProvider(H5JSApiPermissionProvider.class.getName(), new H5JSApiPermissionProviderImpl());