[ 
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:29 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 simpler way?


was (Author: gregh99):
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)

Reply via email to