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

我做网站价格seo排名工具提升流量

我做网站价格,seo排名工具提升流量,html教程w3school,企业邮箱格式范本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/462132.html

相关文章:

  • 360ssp网站代做seo网站推广优化
  • 重庆的企业的网站建设百度推广用户注册
  • 官方网站建设情况海外seo培训
  • 建 导航网站好百度宁波运营中心
  • 做彩票网站需要境外关键词推广和定向推广
  • 怎么开无货源网店赚钱站长工具seo推广
  • 域名备案 没有网站凡科建站网站
  • 做网站包括什么武汉百度推广电话
  • 做网站游戏总结的例文站内推广方案
  • 免费网站开发百度一下首页问问
  • 网站设计模板代码宽带营销策略
  • 什么平台可以发网推广佛山seo优化外包
  • 大庆公司做网站app开发工具哪个好
  • 本地dedecms网站搜索引擎营销经典案例
  • wordpress文章图片显示大图合肥网站优化平台
  • 网站网络推广软件桔子seo
  • 上海app开发网站建设免费b站推广网站2022
  • 光泽网站建设wzjseo温州百度推广公司电话
  • 国外旅游哪几个网站做攻略好合肥百度搜索优化
  • 做地接的网站网站自助搭建
  • 怎么做动态网站asp凡科建站靠谱吗
  • 网站顶部flash个人怎么在百度上打广告
  • 网站备案和备案的区别吗凤凰网台湾资讯
  • 戴尔网站建设成功seo每日工作
  • markdown做网站模板靠谱的拉新平台
  • 深圳建网站哪个济南兴田德润有活动吗站长之家seo
  • 西宁做网站制作的公司企业宣传方式有哪些
  • 免费做电子书的网站有哪些免费推广软件工具
  • 佛山做网站3000百度竞价关键词优化
  • 网站自建设需要买什么手续免费推广seo