我有一个使用 python 编写的 websocket 服务器 https://github.com/dpallot/simple-websocket-server ,我想知道是否可以检查客户端用于连接到 websocket 服务器的网站的 URL?
例如,网站是 http://websockettest.com/我想在 Python 中检查用户是否通过 websockettest.com 连接,而不是通过另一个网站。
这可能吗?
最佳答案
首先,我猜“客户端正在使用的网站的 URL”是指 window.location
,一个在浏览器环境中可用的 JavaScript 对象。可能有很多方法可以将其传输到后端,但这种方法应该安全吗?我什至不确定在这种情况下“安全”意味着什么。您需要在要交付给浏览器的网站中提供类似随机数的内容,并且该网站中的 JS 代码应一起发送 window.location
值(网络浏览器栏中的 URL)通过HTTPS将nonce发送到websocket服务器,后端需要验证nonce。
我想你需要考虑一下为什么你真的想实现这个目标。您想禁止外国客户连接到您的服务吗?这是不可能的。服务访问受到身份验证(即凭据)的限制。理论上,任何人都可以实现自己的客户端,并在提供有效凭据的情况下使用您的服务。
关于python - 检查 websocket 客户端的 URL - python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30405056/