python - 检查 websocket 客户端的 URL - python

标签 python url websocket

我有一个使用 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/

相关文章:

python - 还有比这更好的混合 websocket 接收和发送调用的方法吗?

python - 找不到docker discord.py ffmpeg.exe

python - 如何对 python 说 (a+b) = (b+a) 和 (a*b) = (b*a)

javascript - 如何在不使用用户 ID 的情况下为用户定义唯一的 URL?

javascript - 如何在javascript中点击url

security - Websocket 安全

python - 我不断得到 “IndentationError: expected an indented block”

python - macOS : ModuleNotFoundError: No module named '_ctypes'

java - Android 谷歌地图 URL 查询 - 离线时放置标记

javascript - Websocket 服务器在多人游戏中存在大量延迟