我想拒绝访问使用CGIHttpServer
模块的服务器上的某些路径。我想出了一个白名单,我需要检查每个请求,但我的问题是如何实现它。
我尝试覆盖handle_one_request
方法(它处理请求并发送响应),但问题是路径信息在运行之前不可用。这意味着我总是太早或太晚。现在我想要复制粘贴原始函数源并自己编辑它或覆盖wfile.flush
,这听起来太难看了。
有人能给我一个更好的解决方案吗?
答案 0 :(得分:1)
您可以覆盖run_cgi
子类中的CGIHTTPRequestHandler
,并在白名单匹配时仅调用super
。