1

インテント フィルターとデータを指定する NFC アクティビティがあります。これは次のようなものです

        <intent-filter>
            <action android:name="android.nfc.action..." />
            <category android:name="android.intent.category.DEFAULT" />

            <data
                android:host="..."
                android:path="..." />
        </intent-filter>

ここでの懸念は、android:exported="false"を含めていないことです。アクティビティが公開されるようになったため、このアクティビティは外部アプリからの悪意のある攻撃を受けやすくなります。ここでの問題は、エクスポートされた属性を false にすると、外部インテント ( onNewIntent() を介してアクティビティをトリガーすることになっている) から呼び出されたアクティビティを取得できないことです。

一般的なトリガーメカニズム、つまり外部の意図に影響を与えずに、アクティビティを「安全」にする方法はありますか?

4

1 に答える 1

1

タグに関する通知を受け取る必要がある場合は、インテント フィルターが必要です。タグ ディスパッチャは、これを使用して、タグがスキャンされるときに考慮すべき関心のあるアクティビティを見つけます。アクティビティを非公開にすると、これまで見てきたように、それを通知する方法がなくなります。あなたが懸念している「悪意のある攻撃」は何ですか? あなたの活動は、あなたがコード化するのと同じくらい安全です.NFCインテントのみを処理する場合、あなたは「安全」になります(もちろん、NFCペイロードがデバイスワイプコードまたは何かをトリガーしない限り...)

于 2012-10-04T02:43:40.707 に答える