当前位置: 首页 > 知识库问答 >
问题:

专用广播发送方和接收方权限

公西英叡
2023-03-14

我最近使用HPFortify服务对我的Android源代码做了一次代码扫描。他们报告了一个广播接收器和发送器的安全漏洞。广播发送器和接收器是应用程序内部的,而意图不是发送到应用程序外部的。这些主要用于内部交流。HPFortify建议使用广播者权限来减少攻击矢量。这样你就限制了broadcaster,否则任何恶意应用程序都可以发送意图,而broadcast receiver将处理它。类似地,他们建议使用接收者许可,以便广播的意图被预期的接收者接收。这个广播器和接收器是应用程序内部的,其他应用程序不使用这个意图。以下是Broadcaster的实际代码:

 Intent updatedIntent = new Intent("SOME-ACTION");
 Context context = getAppContext();
 context.sendBroadcast(updatedIntent);

我正在使用以下代码段动态注册广播接收器。

this.registerReceiver(updatedReceiver,
new IntentFilter("SOME-ACTION"));

HPFortify建议使用sendbroadcast和权限字符串示例

Intent updatedIntent = new Intent("SOME-ACTION");
Context context = getAppContext();
context.sendBroadcast(updatedIntent, "SOME-PERMISSION");
this.registerReceiver(updatedReceiver,
    new IntentFilter("SOME-ACTION"),
    "SOME-PERMISSION", null);

共有1个答案

梁韬
2023-03-14

如果需要在应用程序内广播,则使用LocalBroadCastManager,因为local broadcast manager从不在当前进程之外发送广播意图。

如果您希望其他应用程序能够接收或发送您的广播,则使用BroadCastManager,并且您需要应用uses-permission(自定义用户权限)。

有关更多信息,请参阅下面的Android广播接收机文档,他们在安全部分提供了关于安全性的详细信息。

 类似资料:
  • 我正在尝试设置一个类来接收短信和发送状态。以下是我的清单如何查找此任务: 我收到了收到的消息,但没有收到发送的消息,我的清单声明有问题吗?

  • 本文向大家介绍Android入门:广播发送者与广播接收者详细介绍,包括了Android入门:广播发送者与广播接收者详细介绍的使用技巧和注意事项,需要的朋友参考一下 一、广播发送者&广播接收者介绍 1.广播接收者 广播接收者简单地说就是接收广播意图的Java类,此Java类继承BroadcastReceiver类,重写: public void onReceive(Context context,I

  • 问题内容: 有人可以解释和之间的确切区别吗? 在什么情况下我们必须使用每个Receiver类? 问题答案: 和之间只有一个区别。 当您收到内部广播方法时, 假设, BroadcastReceiver : 它 不保证 该 CPU将保持清醒 ,如果你启动一些长时间运行的进程。CPU可能会立即回到睡眠状态。 WakefulBroadcastReceiver : 这是 保证 该 CPU将保持清醒 ,直到你

  • 11.4.发送广播 最后,为触发这个事件,我们需要广播一条能够匹配filter的Intent。前面的BootReceiver只管接收来自系统的广播,也就没必要负责发送Intent。但对TimelineReceiver来说,它接收的广播是来自应用程序本身,发送Intent也就需要我们自己负责了。 在第八章 Service 中,我们为UpdaterService创建了一个内部类Updater,负责在独

  • 我目前正在使用SharedReferences跟踪通过AlarmManager启动的BroadcastReceiver中要执行工作的项列表。除了一个特定的场景外,一切都很好。当我触发一个新项目来执行工作时,让它完成工作,然后删除该项目(全部通过SharedReferences编辑),它在应用程序运行时工作得很好。当列表中没有任何内容,我打开任务管理器并终止应用程序时,该项突然出现在Broadcas

  • 我有一个仪表板活动有3个片段,最初它是调用一个家庭片段,我想显示一个布局当我收到一个互联网的广播没有连接,但我的布局总是显示空指针异常...一开始互联网布局的可见性消失了。 当我设置我的可见性,然后它显示和重叠我的片段设计,但一旦设置它的可见性消失,然后想要显示它总是显示错误 为什么会发生这种情况 checknet.java dashboard.xml