如何解决Laravel私人频道的安全性如何?
我不了解Laravel中的私人频道如何工作。
当我收听私人频道时:
window.Echo.private('activity')
.listen('ActivityCreated',(e) => {
console.log("Activity Created",e);
}
);
Laravel在/broadcasting/auth/
上发出一个请求,以验证我的后端是否允许我的前端侦听此套接字。交换的信息是一些加密的信息。
我不了解的是,任何人都可以订阅任何频道:
./pusher channels apps --app-id=12345678 --channel=private-activity subscribe
Successfully subscribed to channel 'private-activity'.
Event: channel=private-activity event=App\Events\ActivityCreated message=[]
我想念什么?
解决方法
Laravel Echo不仅仅是Pusher库UTSL的包装。在幕后,您拥有记录here
的Pusher应用程序仅当服务器routes/channels.php
对请求进行签名后,Pusher才允许连接到专用频道。一旦您的后端允许客户端访问通道,它只需将授权JWT返回给客户端,客户端再将其作为访问密钥通过WSS转发给Pusher。
即使您的传输受到威胁,您也不应因为受到MITM攻击而脆弱。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。