gpt4 book ai didi

python - 为特定方法/api/url 沉默 cherrypy 访问日志

转载 作者:太空宇宙 更新时间:2023-11-03 13:49:33 52 4
gpt4 key购买 nike

问题很简单,我们希望 CherryPy 不记录被调用的特定公开方法/API 的访问日志。

基本上当这个API被调用时,URL的查询字符串中有一些非常敏感的参数,如果泄露,会暴露潜在的安全性。这自然是一个/GET 请求,不幸的是,这是传递参数的唯一方式,因为它是从外部服务到该 Web 服务器的重定向 (302)。

如果它不记录 URL,那也可以达到目的。

那么,有没有一种方法可以通过 API、URL 等过滤访问日志中的日志消息?

在此先感谢您的帮助。

最佳答案

cherrypy 默认使用 Python 的标准 logging 模块,因此您只需添加自定义过滤器即可。此示例将忽略任何以 /foo 作为路径前缀的 GET 请求:

import logging

class IgnoreURLFilter(logging.Filter):
# simple example of log message filtering

def __init__(self, ignore):
self.ignore = 'GET /' + ignore

def filter(self, record):
return self.ignore not in record.getMessage()

app = cherrypy.tree.mount( YourApplication() )
app.log.access_log.addFilter( IgnoreURLFilter('foo') )
cherrypy.engine.start()

关于python - 为特定方法/api/url 沉默 cherrypy 访问日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12345304/

52 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com