websocket,如何不允许跨域访问?

websocket,如何不允许跨域访问?,websocket,cross-domain,Websocket,Cross Domain,由于原点在非浏览器客户端的情况下不起作用:非浏览器客户端可以使用假原点连接到Websocket服务器。因此,非浏览器客户端可以通过程序执行程序员想要的请求。如何阻止这一切?我希望只有托管在域中的脚本才能连接到websocket服务器。此页面提供基于“票证”的身份验证系统: 然而,它看起来并不能解决这个问题,因为来自任何地方的任何非浏览器客户端也可以有一个票证 我希望只有托管在域中的脚本才能连接到websocket服务器 请告诉我怎么解决这个问题。谢谢。这是不可能的。即使您确实设法阻止所有非浏览器

由于原点在非浏览器客户端的情况下不起作用:非浏览器客户端可以使用假原点连接到Websocket服务器。因此,非浏览器客户端可以通过程序执行程序员想要的请求。如何阻止这一切?我希望只有托管在域中的脚本才能连接到websocket服务器。此页面提供基于“票证”的身份验证系统:

然而,它看起来并不能解决这个问题,因为来自任何地方的任何非浏览器客户端也可以有一个票证

我希望只有托管在域中的脚本才能连接到websocket服务器


请告诉我怎么解决这个问题。谢谢。

这是不可能的。即使您确实设法阻止所有非浏览器客户端访问您的WebSocket,这些客户端也可以简单地启动一个无头Chrome实例,将其导航到您的站点,然后使用生成的WebSocket连接执行任何操作。