龙卷风403打开websocket时GET警告

 缅追逐暗夜的流星 发布于 2023-01-02 08:17

我发现这个python脚本应该允许我打开一个WebSocket.但是,[W 1402720 14:44:35 web:1811] 403 GET / (192.168.0.102) 11.02 ms当我尝试打开实际的WebSocket(使用Old WebSocket Terminal Chrome插件)时,我在Linux终端中收到警告.永远不会在终端窗口中打印消息"连接已打开","连接已关闭"和"已接收消息".

import tornado.httpserver
import tornado.ioloop
import tornado.options
import tornado.web
import tornado.websocket

class MyHandler(tornado.websocket.WebSocketHandler):
        def open(self):
                print "connection opened"
                self.write_message("connection opened")

        def on_close(self):
                print "connection closed"

        def on_message(self,message):
                print "Message received: {}".format(message)
                self.write_message("message received")

if __name__ == "__main__":
        tornado.options.parse_command_line()
        app = tornado.web.Application(handlers=[(r"/",MyHandler)])
        server = tornado.httpserver.HTTPServer(app)
        server.listen(8888)
        tornado.ioloop.IOLoop.instance().start()

小智.. 99

请加

def check_origin(self, origin):
    return True

在类MyHandler中这样

class MyHandler(tornado.websocket.WebSocketHandler):

    def check_origin(self, origin):
        return True

    def open(self):
        print "connection opened"
        self.write_message("connection opened")

    def on_close(self):
        print "connection closed"

    def on_message(self,message):
        print "Message received: {}".format(message)
        self.write_message("message received")

来自DOC:

默认情况下,[ check_origin ]拒绝所有在此主机以外的主机上具有原点的请求.

这是针对浏览器上的跨站点脚本攻击的安全保护,因为允许WebSockets绕过通常的同源策略并且不使用CORS头.

然后再次:

这是一项重要的安全措施; 如果不了解安全隐患,请不要禁用它.特别是,如果您的身份验证是基于cookie的,则必须限制check_origin()允许的来源,或者为websocket连接实现自己的类似XSRF的保护.请参阅这些文章了解更多

链接.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有