【发布时间】:2020-06-10 12:30:20
【问题描述】:
我已经阅读了几篇关于为桌面浏览器实现 Web 推送通知的介绍性文章,但我无法理解将用户浏览器获得的订阅存储在后端服务器上的安全部分。
有许多网站要求您允许在未先在这些网站上进行身份验证/注册的情况下向您发送推送通知。如果我确实授予他们权限并且他们将此权限字符串存储到他们的后端服务器以供以后使用,谁说我不会生成另一个订阅字符串并将其发送到他们用来保存我的订阅的后端服务器的端点?因此,他们的数据库充斥着订阅条目。
当网站上没有可用的用户身份验证/注册时,后端服务器上接收订阅的识别和验证机制是什么?
为了更好地说明:
网站 JS 代码向浏览器请求推送权限 -> 我通过在弹出窗口上按“允许”来授予它 -> 他们将其获取并使用 HTTP POST 将其存储在他们的服务器上。使用一个简单的脚本,我与同一个 HTTP 端点建立连接,并以与端点期望的相同格式发布更多订阅,从而淹没后端数据库。
【问题讨论】:
标签: javascript node.js push-notification web-push