android.provider.Telephony.SMS_RECEIVED的广播者权限

时间:2016-05-06 21:37:35

标签: android android-permissions android-broadcastreceiver

我最近使用HPFortify服务对我的Android源代码进行了代码扫描。他们报告了其中一个广播接收器的安全漏洞。他们建议使用广播公司的权限来减少攻击媒介。这样你就可以限制广播,否则任何恶意应用都可以发送意图,广播接收者也会对其进行处理。

这是我的实际代码:

String ACTION = "android.provider.Telephony.SMS_RECEIVED"
IntentFilter smsFilter = new IntentFilter(SMSReceiver.ACTION);
                    smsFilter.setPriority(Integer.MAX_VALUE);
                    smsReceiver = createSMSReceiver(ctx, l);
                    ctx.registerReceiver(smsReceiver, smsFilter);

我使用以下权限来听取许可。

<uses-permission android:name="android.permission.RECEIVE_SMS"/>

理想情况下,代码的最后一行应该是:

 ctx.registerReceiver(smsReceiver, smsFilter, "XXX.boradcaster.permission.XXX", null);

我无法弄清楚广播接收者的许可。任何人都可以建议如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您要查找的权限是"android.permission.BROADCAST_SMS",或者您可以使用android.Manifest.permission.BROADCAST_SMS常量。