Laravel私人频道的安全性如何?
我不明白拉威尔的私人频道是怎么运作的 当我收听私人频道时:Laravel私人频道的安全性如何?,laravel,websocket,laravel-echo,Laravel,Websocket,Laravel Echo,我不明白拉威尔的私人频道是怎么运作的 当我收听私人频道时: window.Echo.private('activity') .listen('ActivityCreated', (e) => { console.log("Activity Created", e); } ); Laravel在/broadcasting/auth/上请求验证我的后端是否允许我的前端监听此套接字。交换的信息是一些加密信息 我不明白的是,任何人都可以订阅任何
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库的包装。在幕后,你的Pusher应用程序有很好的文档记录 Pusher只允许在从服务器签名请求后连接到专用频道
routes/Channels.php
。一旦您的后端允许客户端访问通道,它只需将授权JWT返回给客户端,然后客户端通过WSS将其作为访问密钥转发给Pusher
即使您的传输被破坏,您也不应该受到MITM攻击,因为
对于私有频道
channels.php
在这里编写所有安全层,如return(int)$user->id==(int)$id代码>@KamleshPaul是的,我知道,但我不知道这个安全层是如何工作的。只需检查返回值是否为true,然后允许连接该通道,所以在这里验证正确的人加入正确的channel@KamleshPaul是的,但在幕后,是什么阻止客户端订阅推送套接字?