当前位置: 首页 > wzjs >正文

报名入口网站建设最全bt磁力搜索引擎索引

报名入口网站建设,最全bt磁力搜索引擎索引,做外贸从哪些网站获取客户,网络信息设计是什么专业1、简介 针对Java的日志系统有多种&#xff0c;本文主要描述如何通过修改配置文件来解决logback和log4j的日志伪造问题。 2、logback 2.1、系统提供的解决方案 在logback.xml中配置编码器自动转义特殊字符&#xff1a; 复制 <configuration><appender name"C…

1、简介

针对Java的日志系统有多种,本文主要描述如何通过修改配置文件来解决logback和log4j的日志伪造问题。

2、logback

2.1、系统提供的解决方案

logback.xml中配置编码器自动转义特殊字符:

复制
<configuration><appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %replace(%msg){'[\r\n]', '\\n'}%n</pattern></encoder></appender><root level="INFO"><appender-ref ref="CONSOLE" /></root>
</configuration>

2.2、自定义的解决方案

对于Logback,可以创建自定义转换器:

public class SanitizingConverter extends ClassicConverter {@Overridepublic String convert(ILoggingEvent event) {return event.getFormattedMessage().replace("\n", "\\n").replace("\r", "\\r");}
}

再在配置文件中配置自定义的转换器:

<configuration><conversionRule conversionWord="sanitizedMsg" converterClass="com.example.SanitizingConverter"/><appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%d %sanitizedMsg%n</pattern></encoder></appender>
</configuration>

 

2、log4J

2.1 使用过滤器(Filter)

创建自定义Filter:

import org.apache.log4j.spi.Filter;
import org.apache.log4j.spi.LoggingEvent;public class LogForgeFilter extends Filter {@Overridepublic int decide(LoggingEvent event) {String message = event.getRenderedMessage();if (message != null && (message.contains("\n") || message.contains("\r"))) {return Filter.DENY; // 拒绝包含换行符的日志}return Filter.NEUTRAL;}
}

然后在配置中添加:

log4j.appender.CONSOLE.filter.1=com.yourpackage.LogForgeFilter

 这种方法由于在异常情况下,会不记录日志,就会导致有些异常的日志被过滤调了,不利于后期的攻击的调查。建议还是使用其它方案,把所有的日志都记录下来。

2.2、Log4J 1.x

2.2.1、系统提供的解决方案

log4j.properties中添加或修改以下配置:

log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
log4j.appender.CONSOLE.layout.replaceNewlines=true

2.2.2、自定义的解决方案

  1. 首先创建一个自定义的Layout类:

import org.apache.log4j.PatternLayout;
import org.apache.log4j.spi.LoggingEvent;public class SanitizingPatternLayout extends PatternLayout {@Overridepublic String format(LoggingEvent event) {String message = super.format(event);// 替换换行符和回车符return message.replace("\n", "\\n").replace("\r", "\\r");}
}

   2. 在log4j.properties中使用这个自定义Layout: 

log4j.appender.CONSOLE.layout=com.example.SanitizingPatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

2.3、Log4J 2

2.3.1、系统提供的解决方案

log4j2.xml中使用encode{}或替换模式:

<Configuration><Appenders><Console name="Console" target="SYSTEM_OUT"><PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5level %logger{36} - %encode{%msg}{CRLF}%n"/></Console></Appenders><Loggers><Root level="info"><AppenderRef ref="Console"/></Root></Loggers>
</Configuration>

2.3.2、对所有输出进行编码处理

log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c - %encode{%m}%n

注意:标准Log4j 1.x不直接支持%encode,需要自定义PatternLayout或使用扩展库

http://www.dtcms.com/wzjs/180119.html

相关文章:

  • 建设银行投资网站首页百度网站提交收录入口
  • 电子商务网站建设的一般过程网站宣传推广方案
  • 国内网站开发公司百度集团
  • 网站维护价格百度问答怎么赚钱
  • 网站咨询弹窗怎么做关键词查询网址
  • 个人经营网站 办理网络营销策略案例
  • 做网站用框架么北京自动seo
  • 一个空间怎么做多个网站线下推广宣传方式有哪些
  • 免费做司考真题的网站长沙网站seo优化
  • 一个空间怎么做两个网站 跳转曹操博客seo
  • 网站集约化建设性能要求兰州做网站的公司
  • 杭州网站推广¥做下拉去118cr百度网页游戏排行榜
  • 大宗商品b2b网站建设青岛网站建设策划
  • 金蝶财务软件官网报价优化电池充电什么意思
  • 字体设计学习网站seo优化的常用手法
  • 北京做企业网站seo优化的搜索排名影响因素主要有
  • 网站免费做招生宣传贵州百度seo整站优化
  • 正规的网站制作平台怎么做小说推广挣钱
  • 连城县住房和城乡建设局 网站留号码的广告网站不需要验证码
  • 肇庆做网站的有网站网络营销
  • 建设积分兑换官方网站视频app推广
  • 交易平台网站程序武汉seo关键词排名
  • 装饰工程师优化seo系统
  • 羽毛球赛事策划方案电脑系统优化工具
  • 小型服务器做网站百度开户公司
  • 如何做自己产品网站怎么样在百度上推广自己的产品
  • physon可以做网站怎样制作网站
  • 常德网站建设哪家快网站优化建议
  • 网站淘客怎么做免费制作详情页的网站
  • 免费的网站app软件百度网站流量统计