Tornado websocket server 跨域问题

websocket 协议是可以跨域的,但存在安全问题,Tornado 4.0+ 可通过重写check_origin 函数允许跨域。

Tornado websocket server 跨域问题

允许所有域名

1
2
3
4
5
6
7
class WebSocketHandler(tornado.websocket.WebSocketHandler):

    def check_origin(self, origin):
        return True

    def open(self):
        self.write_message('x')

指定允许的域名

1
2
3
def check_origin(self, origin):
    parsed_origin = urllib.parse.urlparse(origin)
    return parsed_origin.netloc.endswith(".yourdomain.com")

本文网址: https://pylist.com/topic/138.html 转摘请注明来源

Suggested Topics

tornado websocket 客户端与服务器端示例

最近在网上找了些websocket的资料看了下,node和tornado等等本身已经实现了websocket的封装,所以使用起来会比较简单,php如果想要写websocket还需要自己跑一整套流程,比较麻烦。...

Tornado 搭建基于 WebSocket 的聊天服务

这年头 Python web 框架是有点泛滥了. 下面要介绍的是 facebook 的开源框架 tornado. 这东西比较简单, 而且自带 WebSocket 支持, 可以用它做个简单的聊天室. ...

Leave a Comment