Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/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
Logging IBM Liberty server-在日志文件中隐藏密码_Logging_Websphere Liberty - Fatal编程技术网

Logging IBM Liberty server-在日志文件中隐藏密码

Logging IBM Liberty server-在日志文件中隐藏密码,logging,websphere-liberty,Logging,Websphere Liberty,产品=WebSphere Application Server 8.5.5.9 Liberty概要文件 有人知道如何在IBM WebPere Liberty日志文件中隐藏密码吗?我希望将当前日志详细信息保持在审核级别,但不希望在日志文件中显示密码值 以下是我在日志文件中看到的内容 [8/27/16 8:22:04:581 EDT]00002603系统输出到url参数客户端\u id=ro\u app1和验证程序\u id=CorpDirectory&username=user\u id&pass

产品=WebSphere Application Server 8.5.5.9 Liberty概要文件

有人知道如何在IBM WebPere Liberty日志文件中隐藏密码吗?我希望将当前日志详细信息保持在审核级别,但不希望在日志文件中显示密码值

以下是我在日志文件中看到的内容

[8/27/16 8:22:04:581 EDT]00002603系统输出到url参数客户端\u id=ro\u app1和验证程序\u id=CorpDirectory&username=user\u id&password=my\u password&grant\u type=password

[8/27/16 8:22:05:299 EDT]00002603 SystemOut O Post参数:客户端\u id=ro\u应用程序1和验证程序\u id=CorpDirectory&username=user\u id&password=my\u password&grant\u type=password

my_password-表示实际用户密码

以下是我的日志记录属性:

com.ibm.ws.logging.max.file.size=5
com.ibm.ws.logging.hideMessage=password
com.ibm.ws.logging.max.files=20
com.ibm.ws.logging.console.log.level=AUDIT
com.ibm.ws.logging.message.file.name=loggingMessages.log

提前感谢您的建议。

com.ibm.ws.logging.hideMessage属性只能用于隐藏ibm官方消息键(如
SRVE0255E
)。这不能用于隐藏日志中的任何字符串,因为这样做可能会严重影响性能

此外,这些日志消息来自应用程序代码中的System.out.print语句。如果不希望打印密码,请不要在应用程序代码中打印整个URL


此外,与您首先将明文密码作为HTTP GET参数传递这一事实相比,日志中显示的密码不是什么问题。
com.ibm.ws.logging.hideMessage
属性只能用于隐藏ibm官方消息密钥(例如
SRVE0255E
)。这不能用于隐藏日志中的任何字符串,因为这样做可能会严重影响性能

此外,这些日志消息来自应用程序代码中的System.out.print语句。如果不希望打印密码,请不要在应用程序代码中打印整个URL

此外,与您首先将明文密码作为HTTP GET参数传递这一事实相比,日志中显示的密码的问题要小得多。

IIRC(我最近没有尝试过这一点,但我记得我正在使用或接近执行此操作的代码),Liberty将混淆HTTP访问日志中GET参数中的密码。我们不会分析所有要清除密码的系统输出调用,因为这会对性能产生负面影响。正如@aguibert所说,这是应该在应用程序级别进行管理的事情。您可以尝试打开access日志,这将允许您删除system.out

IIRC(我最近没有尝试过,但我记得我使用过或接近代码),Liberty将在http访问日志中的GET参数中混淆密码。我们不会分析所有要清除密码的系统输出调用,因为这会对性能产生负面影响。正如@aguibert所说,这是应该在应用程序级别进行管理的事情。您可以尝试打开access日志,这将允许您删除system.out


我们使用的是https,而不是httpok,使用https是好的(尽管本文仍然不鼓励使用密码作为url参数)。我回答的要点是,此日志语句来自System.out,而不是WebSphere。因此,最简单的解决方案是更改应用程序,使其在看到密码参数时不记录URL。您提供的链接与我们正在使用的移动应用程序无关。因此,基本上,免费的Tomcat应用程序服务器提供了用一串*替换密码值的能力,它比付费的IBM Liberty应用程序服务器有更多的选择?而不是提供与免费应用服务器相同的功能,而是攻击一个你一无所知的应用程序的代码。真的很顺利。我不会在上面输入“产品vs.产品”参数。我试图提出的答案是一个简单的解决方案。考虑到原始问题中提供的信息量,关于不使用密码作为HTTP get参数的旁注是有效的,因此我将其留给未来的读者,因为在一般情况下避免使用密码是一件好事。我们使用的是https,而不是httpok,使用https是好的(尽管如此,本文仍不鼓励将密码用作url参数)。我回答的要点是,此日志语句来自System.out,而不是WebSphere。因此,最简单的解决方案是将应用程序更改为在看到密码参数时不记录URL。您提供的链接与我们正在使用的移动应用程序无关。因此,基本上,免费的Tomcat应用程序服务器提供与付费IBM Liberty应用服务器相比,使用*字符串替换密码值的功能有更多的选项?并且,您不提供与免费应用服务器相同的功能,而是攻击一个您一无所知的应用程序的代码。真正的平滑…我不会在上面输入产品与产品的参数。我想说的是什么est和我的答案是一个简单的解决方案。考虑到原始问题中提供的信息量,关于不使用密码作为HTTP get参数的旁注是有效的,因此我将其留给未来的读者,因为在一般情况下避免使用密码是一件好事。