隐藏tornado响应头中的版本号——“Server“: “TornadoServer6.0.2“

隐藏tornado响应头中的版本号——"Server": "TornadoServer6.0.2"

现象

在tornado响应头中Server暴露服务器框架和版本号位置如下图:
touando响应头的server

位置

经查看源码发现是在虚拟环境第三方包路径/torando/web.py文件中RequestHandlerlei类(或者导from tornado.web import RequestHandler包进RequestHandler类)在clear方法中如下图:
clear方法位置

解决办法

直接删除"Server": "TornadoServer/%s" % tornado.version,这行代码即可。

    def clear(self) -> None:
        """Resets all headers and content for this response."""
        self._headers = httputil.HTTPHeaders(
            {
                "Content-Type": "text/html; charset=UTF-8",
                "Date": httputil.format_timestamp(time.time()),
            }
        )
        self.set_default_headers()
        self._write_buffer = []  # type: List[bytes]
        self._status_code = 200
        self._reason = httputil.responses[200]

更改后如下图:

clear方法更改后

重写clear方法

不建议在请求方法父类中重写该方法,重写该方法后会发现只有自己写的接口发生改变,在静态文件中"Server": "TornadoServer6.0.2"还是存在

效果

更改后的效果如下:

更改后效果

结束

到此修改结束,个人方法有问题欢迎指出

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值