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

智能锁东莞网站建设唯品会一家专门做特卖的网站手机版

智能锁东莞网站建设,唯品会一家专门做特卖的网站手机版,淘宝客建立网站,网站开发常用的数据库背景 日志注入一般指的是恶意用户输出换行等内容#xff0c;混淆正常的日志#xff0c;导致排查问题是无法正确定位问题#xff0c;因此#xff0c;我们需要对要打印的日志内容进行过滤。 但是#xff0c;如果是每个接口单独处理的话#xff0c;成本较高#xff0c;因此…背景 日志注入一般指的是恶意用户输出换行等内容混淆正常的日志导致排查问题是无法正确定位问题因此我们需要对要打印的日志内容进行过滤。 但是如果是每个接口单独处理的话成本较高因此我们需要一个统一处理的机制。 当然统一处理可能会误伤正常的日志这个需要自己进行斟酌了。我们在绝大情况下不会在打印日志的内容中使用换行等特殊字符所以这样处理我认为是比较稳妥的。 这个处理仅会对用户输入的参数进行处理不会对堆栈的正常的内容处理所以大部分的日志是可以正常打印出来的。 方案 springboot集成的logback其配置文件是 org/springframework/boot/logging/logback/base.xml其默认参数配置都在org/springframework/boot/logging/logback/defaults.xml。我们不打算修改这些配置而是沿用。 我们对logback进行定制spring集成的默认log_pattern为-%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-ddTHH:mm:ss.SSSXXX}}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr(%applicationName[%15.15t]){faint} %clr(${LOG_CORRELATION_PATTERN:-}){faint}%clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}中间可以全部不管输出的重点就是靠后部分的%m这个是一个Converter对消息进行处理默认是不进行任何处理直接输出原消息我们对他进行定制。 我们自定义自己的Converter: import ch.qos.logback.classic.pattern.ClassicConverter; import ch.qos.logback.classic.spi.ILoggingEvent; import org.slf4j.helpers.MessageFormatter;/*** author */ public class LineSeparatorConverter extends ClassicConverter {Overridepublic String convert(ILoggingEvent event) {Object[] argumentArray event.getArgumentArray();// 没有用户传入的参数直接返回if (argumentArray null || argumentArray.length 0) {return event.getFormattedMessage();}Object[] argumentArrayProcessed new Object[argumentArray.length];for (int i 0; i argumentArray.length; i) {Object o argumentArray[i];if (o null || o instanceof Throwable) {argumentArrayProcessed[i] o;} else {String oString o.toString();argumentArrayProcessed[i] cleanLineSeparator(oString);}}return getFormattedMessage(event.getMessage(), argumentArrayProcessed);}public String getFormattedMessage(String message, Object[] argumentArray) {String formattedMessage;if (argumentArray ! null) {formattedMessage MessageFormatter.arrayFormat(message, argumentArray).getMessage();} else {formattedMessage message;}return formattedMessage;}private String cleanLineSeparator(String line) {if (line null || line.isEmpty()) {return line;}return line.replace(\n, \\n).replace(\r, \\r);}} 然后声明logback-spring.xml使用spring的默认配置并且覆盖%m的默认Converter改成我们自己的 ?xml version1.0 encodingUTF-8?configuration scantrue scanPeriod60 seconds debugfalseinclude resourceorg/springframework/boot/logging/logback/base.xml/!-- 将默认的输出器改为自定义输出器会替换掉换行符防止日志注入 --conversionRule conversionWordmconverterClassxxx.LineSeparatorConverter//configuration 如果放到了resources目录下该文件应该可以正常识别到不需要额外配置。 如果日志处理是一个maven的子模块那就手动声明一下文件位置 logging.configclasspath:logback-spring.xml 如果放到其他目录写成logging.configfile:/xxx/xxx/logback-spring.xml
http://www.dnsts.com.cn/news/98467.html

相关文章:

  • 做服务网站要多少钱网站建设的规划和设计
  • 广州市建设集团网站微盟微商城怎么样
  • 怎么查网站是用什么语言做的wordpress液态页面
  • 网站开发知识培训台州seo排名外包
  • 网站备案后 如何建设网站开发与托管协议
  • 湖南3合1网站建设电话wordpress里的小工具
  • 做加盟的网站建设郑州证件制作
  • 水墨网站设计欣赏wordpress百度收录数
  • 安徽省建设厅官方网站进不去手机什么网站可以设计楼房
  • 沧州模板建站平台上海优化网站
  • 汕尾好网站建设推广dede网站搬家后为什么都没有内容呢
  • p2p做网站做网站什么职业
  • 网站建设在哪些网站优化排名如何做
  • 外贸网站建站那家公司好仿站小工具+wordpress
  • 婚纱设计网站创意矿泉水瓶子设计
  • 站长网站的优势浏览器打开自己做的网站
  • 化妆品网站的建设 论文中国免费空间网
  • 粒子特效网站福田网络
  • 域名网站查询替老外做网站
  • 海外音乐类网站做的比较好的visual composer wordpress
  • 凡人网站建设建设企业网站包含什么
  • 商城网站内容模块有哪些一键阿里云 wordpress
  • 网站建设审核需要多长时间外贸代运营
  • 贵州省公路建设有限公司网站网址大全怎么删除
  • 网站域名申请wordpress 移动端不显示图片
  • 网站可以做被告嘛鄙视wordpress
  • 兼职做诚信网站认证静态网站数据库
  • 中小企业网站建设价位黑科技引流推广神器下载
  • 网站域名做跳转要收费吗网站接广告平台
  • wordpress企业网站源码爱南宁app官方下载