[
https://issues.apache.org/jira/browse/WW-5115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17270828#comment-17270828
]
Greg Huber edited comment on WW-5115 at 1/24/21, 9:30 AM:
----------------------------------------------------------
(replay to work log comments)
Trying is to reduce the unnecessary log entries. By using
setAdditionalExcludePatterns("^(action|method):.*"); will just switch the log
message from ParametersInterceptor:isAccepted to
ParametersInterceptor:isExcluded, as a default, anything in
IsExcluded.yes(excludedPattern); will log to the dev output.
{code:java}
for (Pattern excludedPattern : excludedPatterns) {
if (excludedPattern.matcher(value).matches()) {
LOG.trace("[{}] matches excluded pattern [{}]", value,
excludedPattern);
return IsExcluded.yes(excludedPattern);
}
}
{code}
May be there is a cleaner way?
was (Author: gregh99):
(replay to work log comments)
Trying is to reduce the unnecessary log entries. By using
setAdditionalExcludePatterns("^(action|method):.*"); will just switch the log
message from ParametersInterceptor:isAccepted to
ParametersInterceptor:isExcluded, as a default, anything in
IsExcluded.yes(excludedPattern); will log to the dev output.
{code:java}
for (Pattern excludedPattern : excludedPatterns) {
if (excludedPattern.matcher(value).matches()) {
LOG.trace("[{}] matches excluded pattern [{}]", value,
excludedPattern);
return IsExcluded.yes(excludedPattern);
}
}
{code}
May be there is a simpler way?
> Reduce logging for DMI excluded parameters
> -------------------------------------------
>
> Key: WW-5115
> URL: https://issues.apache.org/jira/browse/WW-5115
> Project: Struts 2
> Issue Type: Improvement
> Components: Core
> Affects Versions: 2.5.25
> Reporter: Greg Huber
> Assignee: Greg Huber
> Priority: Minor
> Fix For: 2.5.27
>
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> There are unnecessary log warning when DMI is enabled, from the
> ParametersInterceptor.
> WARN com.opensymphony.xwork2.interceptor.ParametersInterceptor
> ParametersInterceptor:isAccepted - Parameter [action:myAction!save] didn't
> match accepted pattern
> [[\w+((\.\w+)|(\[\d+])|(\(\d+\))|(\['(\w|[\u4e00-\u9fa5])+'])|(\('(\w|[\u4e00-\u9fa5])+'\)))*]]!
> See Accepted / Excluded patterns at
> https://struts.apache.org/security/#accepted--excluded-patterns
> eg the property 'action:myAction!save' should not be considered as a
> bean/property parameter, as its used as part of DMI to submit the form.
> Any property which matches the DMI method invocation "^(action|method):.*"
> needs to be silently ignored and not logged in devMode=true.
> DMI_AWARE_ACCEPTED_PATTERNS can also be dropped from
> DefaultAcceptedPatternsChecker as the DMI action|method would never be a form
> property.
> public static final String[] DMI_AWARE_ACCEPTED_PATTERNS = {
>
> "\\w+([:]?\\w+)?((\\.\\w+)|(\\[\\d+])|(\\(\\d+\\))|(\\['(\\w|[\\u4e00-\\u9fa5])+'])|(\\('(\\w|[\\u4e00-\\u9fa5])+'\\)))*([!]?\\w+)?"
> };
--
This message was sent by Atlassian Jira
(v8.3.4#803005)