当前位置:  开发笔记 > 编程语言 > 正文

没有应用服务器,网络上的FCM是否安全?

如何解决《没有应用服务器,网络上的FCM是否安全?》经验,为你挑选了1个好方法。

我想从我的网站上的客户端生成消息,并将消息发送到目标设备.使用像这样的ajax(jquery)请求很简单:

$.ajax({
    url: 'https://fcm.googleapis.com/fcm/send',
    type: 'POST',
    contentType: "application/json",
    dataType: 'json',
    data: JSON.stringify({
        "notification": {
            "title": title,
            "body": msg,
            "sound": "default"
        },
        "to": "XXXXXXXXXXXX"
    }),
    beforeSend: function(xhr) {
        xhr.setRequestHeader('Authorization', 'key=YYYYYYYYYY');
    }
});

但是,那么我不需要保持XXXXXXXXXXXX设备密钥,并且YYYYYYYYYY API密钥是私有的吗?如果没有,我担心人们会开始刮掉这些并从完全不相关的服务中发送垃圾邮件?



1> Frank van Pu..:

这绝对不安全.您传入Authorization标头的密钥称为服务器密钥,因为您只应在应用服务器(或您直接控制的其他进程)中使用它.

如果您将相同的密钥放在每个客户端设备上运行的代码中,则意味着恶意用户可以(因此将)能够复制您的服务器密钥并使用该密钥代表您向您的应用程序用户发送消息.

Firebase Cloud Messaging文档在其有关FCM服务器角色的部分中对此进行了说明.我们还有一篇博文,介绍如何使用云端消息,实时数据库和后端应用服务器上的Node.js脚本在Android上发送设备到设备消息.

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有