Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从clojure ring应用程序中的日志中筛选敏感参数_Clojure_Ring - Fatal编程技术网

从clojure ring应用程序中的日志中筛选敏感参数

从clojure ring应用程序中的日志中筛选敏感参数,clojure,ring,Clojure,Ring,在我的应用程序中,我正在使用wrap-with-logger-from和wrap-params-from-middleware。从日志中筛选敏感参数密码、信用卡号码等的简单方法?您可以实现自定义预记录器,根据需要筛选请求 见下文: (use 'ring.adapter.jetty) (require '[ring.middleware.logger :as logger]) (defn handler [request] {:status 200 :headers {"Content

在我的应用程序中,我正在使用wrap-with-logger-from和wrap-params-from-middleware。从日志中筛选敏感参数密码、信用卡号码等的简单方法?

您可以实现自定义预记录器,根据需要筛选请求

见下文:

(use 'ring.adapter.jetty)
(require '[ring.middleware.logger :as logger])

(defn handler [request]
  {:status 200
   :headers {"Content-Type" "text/html"}
   :body "Hello World"})

(run-jetty
 (logger/wrap-with-logger
  handler
  :pre-logger
  (fn [options req]
    ;; Filtering goes here
    (let [filtered-req (filter-sensitive-data req)]
      ((:info options) "Filtered requrest is: " filtered-req))))
 {:port 8080})

注意,虽然预记录器只接受一个参数的文档,

您也可以考虑迁移到包括:

默认情况下,ring logger将在任何嵌套级别编辑授权标头或任何参数命名的密码。如果您希望ring logger编辑其他参数,可以配置编辑键选项:

Ring logger将遍历参数和标题,并对在该编校键集中找到其名称的任何键进行编校


还有一点应该可以使从环日志程序迁移到环日志程序变得非常容易

如何获得%x使用环日志程序记录的有用请求id?@BobKuhar目前只有环日志程序onelog支持。将其添加到ring logger或ring logger Timber至少存在一个公开问题:。请随意插话。PRs也很受欢迎:
   (wrap-with-logger app {:redact-keys #{:senha :token})