如何隐藏Tornado版本号?在网上搜了好久,有2种答案,但是都没有解决我的问题。第一种:可以通过重写Tornado的clear方法来隐藏Tornado版本号。具体步骤如下:创建一个新的类,继承Tornado的HTTPServer类。在新类中重写clear方法,将响应头中的Server字段设置为空字符串。使用新类创建HTTP服务器。第二种:在torando/web.py文件中RequestHandler类中,直接删除"Server": "TornadoServer/%s" % tornado.version,这行代码即可。期待有新的解决方法。
2条回答 默认 最新
关注引自强大而免费的微信小程序:皆我百晓生。
为了隐藏Tornado版本号,可以按照以下步骤进行操作:
注意:以下操作仅适用于Tornado版本4.3及更高版本。
1. 创建新的HTTPServer类:首先,创建一个新的类,继承自Tornado的
HTTPServer类,用于重写clear方法,以隐藏版本号。代码示例:from tornado.httpserver import HTTPServer class CustomHTTPServer(HTTPServer): def clear(self): self._header_buffer._headers = []2. 重写clear方法:在新类中,重写
clear方法,并将响应头中的Server字段设为一个空字符串。代码示例:class CustomHTTPServer(HTTPServer): def clear(self): super().clear() self._header_buffer.add("Server", "")3. 使用新类创建HTTP服务器:使用新创建的
CustomHTTPServer类来创建HTTP服务器。代码示例:from tornado.ioloop import IOLoop if __name__ == "__main__": server = CustomHTTPServer() server.listen(8888) IOLoop.current().start()使用以上步骤,即可隐藏Tornado版本号。
希望以上解决方案能对您有所帮助。如果还有其他问题,请随时提问。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录