导航:首页 > 编程大全 > log4net配置工具

log4net配置工具

发布时间:2025-05-20 22:40:32

『壹』 各组织/开源项目对 Log4Shell 漏洞的响应汇总

出品|开源中国

作者|罗奇奇

本文旨在介绍 Log4shell 漏洞,并 收集各组织/开源项目对该漏洞的响应 ,以让各大开发者对该漏洞的危害有所了解,避免更多损失。

Log4shell 漏洞背景说明

Apache Log4j2 是一个基于 Java 的日志记录工具。该工具重写了 Log4j 框架,并且引入了大量丰富的特性,被大量用于业务系统开发,用来记录日志信息。

CVE-2021-44228 远程控制漏洞(RCE)影响从 2.0-beta9 到 2.14.1 的 Log4j 版本。受影响的 Log4j 版本包含 Java 命名和目录接口 (JNDI) 功能,可以执行如消息查找替换等操作,攻击者可以通过向易受攻击的系统提交特制的请求,从而完全控制系统,远程执行任意代码,然后进行窃取信息、启动勒索软件或其他恶意活动。

Apache Log4j2 安全补丁更新过程

官方通告

Apache Log4j 2 2.0-beta9 到 2.12.1 和 2.13.0 到 2.15.0 版本的 JNDI 功能在配置、日志消息和参数中使用,无法防止攻击者控制的 LDAP 和其他 JNDI 相关端点。当启用消息查找替换时,控制日志消息或日志消息参数的攻击者可以执行从 LDAP 服务器加载的任意代码。从 log4j 2.15.0 开始,默认情况下已禁用此行为。从版本 2.16.0 开始,此功能已完全删除。请注意,此漏洞特定于 log4j-core,不会影响 log4net、log4cxx 或其他 Apache 日志服务项目。

Apache Log4j 2.15.0 中针对 CVE-2021-44228 的修复在某些非默认配置中不完整。当日志配置使用非默认模式布局和上下文查找(例如,${ctx:loginId})或线程上下文映射模式( %X、%mdc 或 %MDC)使用 JNDI 查找模式制作恶意输入数据,从而导致拒绝服务 (DOS) 攻击。默认情况下,Log4j 2.15.0 尽最大努力将 JNDI LDAP 查找限制为 localhost。Log4j 2.16.0 通过删除对消息查找模式的支持和默认禁用 JNDI 功能来修复此问题。

当攻击者对 Log4j 配置具有写访问权限时,Log4j 1.2 中的 JMSAppender 容易受到不可信数据的反序列化。攻击者可以提供 TopicBindingName 和 配置,导致 JMSAppender 以类似于 CVE-2021-44228 的方式执行 JNDI 请求,从而导致远程代码执行。

注意, JMSAppender 不是 Log4j 的默认配置,因此此漏洞 仅在特别配置为 JMSAppender 时才会影响 Log4j 1.2 。事实上 Apache Log4j 1.2 已于 2015 年 8 月终止生命周期。用户应该升级到Log4j 2,因为它解决了以前版本的许多其他问题。

组织/开源项目的响应

已修复/更新:

不受影响:

影响待定

发布漏洞相关工具

此列表将持续更新 ,俺一个人能力有限,欢迎大家在评论区分享你所了解的公司/组织/开源项目对 Log4shell 漏洞的回应,格式为 公司/组织/项目名称 | 回应类别(已更新/修复/不受影响等)| 回应链接 此漏洞影响面太广,希望大家一起合作,避免更多组织或个人因此受到损失。


『贰』 电子商务网站一般架构有哪些

大型电子商务网站架构,摘抄7.同一个网站的多语言该如何处理是好,使用配置文件然后cookie或url来判别?===客户是自己公司,使用标准方法即可

8.电子商务网站最多的就是商品的打折方式和积分的赠送了,这里要怎么设计才好(工厂模式)?===采晌顷购成熟的规则引擎

9.如果同一时间并发大量订单的话,如果确保一个订单的有效提交呢?

==电子商务一般要使用MQ,推荐IBMMQ;使用MSMQ也可

第一点是数据库要设计好,要达到什么级别,你可能需要考虑哪些表需要拆分,哪些表的核心数据需要冗余,如果是mysql,还要考虑其他的问题,比如存储引擎。

新闻肯定是要生成纯静态页,对数据库压力就小很多,不过静态页也有管理上的不方便,更新删除添加都要对磁盘文件进行操作

做一个自定义缓存层,对缓存逻辑进行控制,可以采用第三方缓存模块,如果使用.net来做,可以层层缓存,页面缓存,数据缓存(memcache,不过在win下效率不高)

电子商务网站特点就是对事务的严格,需要数据库设计的时候要求高性能,也需要合适的索引,支持高并发,经常对产品表用户表等进行索引检查,是否有很多索引扫描和表扫描(即使是局部的,也要将“局部”控制到最小范围)

mssql语句对不需要事务的查询要附带上with(nolock),以利于并发更新。

有些功能模块不能按照想当然的方式开发,比如产品访问次数,切不可将这些更新非常频繁的字段置于核心表内,明确的做法是将其剥离开来还有就是切不可经常性将字段设计成bool类型,这样会给以后的扩展留出路,即使是男女这种字段,也建议采用tiny类型

其他还有就是在产品设计的时候充分考虑seo,网站目录结构清晰可读,而不是带着一串串的查询参数。

对安全要有整体的把握,最好全都是用存储过程,在项目上线前将数据库存储过程全部导出再查找貌似exec的语句,查找是否需要替换成sp_executesql。

另外,如果采用mssql,全文搜索直接用mssqlfte就可以,速度和精确度都还是可以的,最重要的是维护和管理开发很简单。

打折的处理可以按照电信的一次,二次批价功能,如果你做过电信方面的系统。

当然也可以设计得更简单的一些。静态的页面建议使用CDN加速,以解决网通和电信之间访问速度的问题;

数据的缓存方面建议考虑用memcache,另外也可以分别在表现层和数据层利用.net中的现存缓存机制作业可;

简单执行的sql可以不用存储过程,存储过程会占用数据库服务器的处理时间,造成死锁;

mvc建议还是做些CMS的项目上应用,电子商城不是很适合,个人观点。url上可以做转义,使url显示更友好;

数据库建议建立分布数据库,这样可以转移查询和大访问量对数据库带来压力;

图片可以考虑单独放在一台服务器上;1.三层架构

2.使用手写sql,手写entity(生成也可),缓存反射绑定(不是缓存数据哦,缓存映射关系),要考虑网站的长期发展还是手写吧灵活性能也好

3.没有这种问题,商业驱动的,纯购物就好了,千万别搞什么圈子,wiki

4.纯.net的mvc不建议,webform不搞viewstate,不搞服务端控件(除repeater)再加点mvc的思想已足够用了

5.不需要缓存数据(除搜索产品部分),要考虑多台服务器的程序快速部署,config文件会很多,config要序列化缓存

6.当然是先生成好了,参照jd吧,按业务每宴碧陆张图片对应几个不同大小的图

7.据经验,电子商务网站仅靠中英双语来达到多语言是不靠谱的(文化用户习惯不是简单的语言慧毕切换),如果想真正运营英语的就要重新开发一个版本

8.不搞模式

9.负载均衡(web,db)+ssb异步处理数据

10.你是业务类型的日志还是异常日志?前台订单流程上异常日志不需要了,找个工具录个脚本不停的跑保证随时发现问题发邮件就可以了

11.找第三方搜索组件类似endeca的

12.负载均衡挺简单的,初期靠软件就可以,一切图片找第三方放cdn,前台网站用到ajax的地方很少,如果用的话jquery1,一个电子商务网站用户99.5%的行为时Find

2、对于商品检索部分,能不用数据库就不用数据库(网上切词等相关的开源平台很多)

3、分布式缓存(Memcached、Volecity),个人测试volecity3还是不错的

4、系统设计时必须要考虑可运营。从这个角度去设计系统

5、对于电子商务网站改动很频繁,必须考虑架构设计如何适应频繁的版本更新

6、必须设计一个好的单点登录系统。

7、建议能不用sqlserver就不用它。

8、对于大型电子商务网站来说,系统的I/O是起决定因素而不是CPU和内存。1.项目划分是否会有问题,图中分别是实体层,数据访问接口层,数据访问层,业务逻辑接口层,业务逻辑,网站A,B,C

项目划分其实不重要,重要的的是你在写代码的时候是否能把代码合理的分到对应的项目里。

2.数据访问层是要开发效率(NBear,Linq,Nh等),还是访问效率(直接使用sql等)?是否可以先使用开发效率高的,等日后访问量大了,再重写并替换数据访问层?

开发效率优先,访问量大了以后,我相信是有钱投到硬件上的,在你程序写的不是很烂的情况下,升级硬件远比优化程序节省成本。

3.网站被切割成了多个子网站,有一些控件(如header,footer)是要共享的,如何跨网站项目共享这些控件呢?

那就做成自定义控件啦。

4.ms的mvc1.0也出来不少时间了,是否已经够成熟运用到项目中?或者是网站后台使用webform的,前台使用mvc?

推荐使用使用webform的,前台使用mvc,对于前台来说使用mvc能更好的提升性能,更方便的更换页面表现形式。后台界面相对稳定,用webform可以提高开发效率。

5.网站数据的缓存是自己开发一个hashtable什么的来维护呢,还是使用Memcached?

初期建议用hashtable,因为简单,将来升级到Memcached。

6.缩略图的处理,我看有的网站是在上传图片的时候直接生成,有的是在httpmodle里处理,访问的时候生成.

直接生成缩略图的好处是节约性能。httpmodle相反,每次浏览图片的时候都会生成新的图片,服务器压力大,建议直接生成。

7.同一个网站的多语言该如何处理是好,使用配置文件然后cookie或url来判别?

多语言建议使用asp.net自带的资源文件的方式实现,当前语言保存在cookie里面。

8.电子商务网站最多的就是商品的打折方式和积分的赠送了,这里要怎么设计才好(工厂模式)?

规则引擎

9.如果同一时间并发大量订单的话,如果确保一个订单的有效提交呢?

使用MQ队列

10.日志方面,log4net?

log4net只能记录程序运行日志,主要目的是用来调试程序的,系统业务操作日志还你是得自己建一个表来保存。

11.电子商务的全文检索,这也是个头疼的问题

lucene,微软索引服务,sqlserver全文检索,方案很多的。

12.负载均衡方面,有什么好的文章推荐码?

可以看windows2003集群方面的文章1.项目划分是否会有问题,图中分别是实体层,数据访问接口层,数据访问层,业务逻辑接口层,业务逻辑,网站A,B,C

目前我也是这样分的,不过当数据表结构有修改时,会带动其它层的联级修改,非常不方便,所以开发之前最好将数据库设计地完善一点。另外,当网站分成多个以后,其它项目生成的DLL文件要部署到每个网站的bin文件夹里,更新一次都要重新部署,这也是个挺烦人的事,当然可以将DLL部署到GAC里来解决这个问题,不过这样的话本地调试起来就不太方便了,因为项目一有改动,就要将生成的DLL重新拷贝到GAC里才能看到效果。

2.数据访问层是要开发效率(NBear,Linq,Nh等),还是访问效率(直接使用sql等)?是否可以先使用开发效率高的,等日后访问量大了,再重写并替换数据访问层?

这个我也在考虑。目前我还没有采用ORM框架,都是在DAL里直接访问DB的。

3.网站被切割成了多个子网站,有一些控件(如header,footer)是要共享的,如何跨网站项目共享这些控件呢?

自定义控件。

4.ms的mvc1.0也出来不少时间了,是否已经够成熟运用到项目中?或者是网站后台使用webform的,前台使用mvc?

正在学习这一块。

5.网站数据的缓存是自己开发一个hashtable什么的来维护呢,还是使用Memcached?

现在我用的比较多的是.net自带的数据缓存。

6.缩略图的处理,我看有的网站是在上传图片的时候直接生成,有的是在httpmodle里处理,访问的时候生成.

直接生成好,快一点。

7.同一个网站的多语言该如何处理是好,使用配置文件然后cookie或url来判别?

我没涉及到这一块,不过我觉得资源文件应该就是用来处理这个问题的。

8.电子商务网站最多的就是商品的打折方式和积分的赠送了,这里要怎么设计才好(工厂模式)?

这些都放在逻辑层好了。

9.如果同一时间并发大量订单的话,如果确保一个订单的有效提交呢?

MSMQ

10.日志方面,log4net?

目前我是自已写代码存在库里的。

11.电子商务的全文检索,这也是个头疼的问题

用lucene.net分词建索引,再直接从索引库里搜索,又快又准。

12.负载均衡方面,有什么好的文章推荐码?

不清楚了。这样的设计要达到新蛋的效果肯定不可能的,新蛋少说几百台服务器,不同数据库之间的发布订阅链路都有几千条。有复杂的缓存,负载均衡机制。新蛋所有的通讯都是基于WCF的。另外对于这么大型的网站来说,数据库一刻都不停止,所以读写分离也很重要,因为你也不可能让数据库停下来进行备份。总归要做到新蛋这样的大型电子商务网站,靠你上面画的这点好像远远不够。

不过关于公共的header,footer,我不建议做成自定义控件,这个维护起来不方便,稍有变动就要发布dll,麻烦的。

如果你的header和footer不是很大的话,建议采用js+css的方式。然后加上压缩和cdn缓存,应该效率上能接受。

『叁』 Apache软件基金会的Apache技术

Apache HTTP服务器项目主要致力于为现代操作系统开发和维护开源的HTTP服务器,其中包括Unix和Windows NT。这个项目的主要目标是提供一个可以与当前的HTTP标准同步提供安全、高效和可扩展的服务器的HTTP服务。自1996年4月以来,Apache就变成了互联网上最流行的Web服务器。
主要用户群:连续13年,Apache HTTP服务器都是全球Web服务器的领军者,为1.13亿个网站提供服务。 Apache Tomcat是一个可以执行Java Servlet和JavaServer网页技术的开源软件。Apache和Tomcat是相对独立的,用户可以通过Apache访问Tomcat资源,反之亦然,二者可以在同一台服务器上。Apache Tomcat是由全世界各地的最佳开发者合力研发而来的,是一款非常优异的开源软件。
用户群:Tomcat推动了很多不同行业的大型的、关键的Web应用程序的发展,其中包括ETrade、沃尔玛、天气频道以及EMC等。 Apache Lucene是一个高性能、全功能的文字搜索引擎图书馆,是由Java语言编写的。ApacheLucene适用于任何需要全文字搜索的应用程序,特别是跨越平台。一开始,Lucene是由Java语言编写的,目前已经被移植到其他的语言,其中包括Delphi、Perl、C#、C++、Python、Ruby和PHP等。
用户群:苹果在线零售店、CNET、Netflix、维基网络、Yelp、Comcast、LinkedIn、The Smithsonian、多个政府机构(FDA、DOD等)、Technorati、互联网档案馆(例如AOL黄页的上下文搜索等)。 Apache Struts是一个用于开发Java EE Web应用程序的开源Web应用程序框架。Apache Struts使用和扩展Java Servlet API去鼓励开发者采用模型视图控制器(MVC)构架。
用户群: IRS、波士顿环球报、大赦国际、Sears、Alamo Car Rental、National Car Rental、Travelocity等等。 Apache Geronimo是Apache软件基金会的开放源码J2EE服务器,它集成了众多先进技术和设计理念。这些技术和理念大多源自独立的项目,配置和部署模型也各不相同。Geronimo项目的目标就是产生一个服务器运行时间框架,将最好的开源替代品汇集到一个统一、易用的模型中,去满足开发人员和系统管理员的需求。
用户群:AMD、Chariot Solutions、IBM、Virtuas等。 Apache Ant是由Apache软件基金会所提供的一个基于Java的开发工具,它是将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。
用户群:大多数的Java设计都被用于管理大量信息流,例如纽约州就使用Apache Ant去管理美国最大的青年计划,每天可以实时更新超过25万学生的记录。 Apache Cocoon是一个基于Spring框架的围绕分离理念建立的构架,在这种框架下的所有处理都被预先定义好的处理组件线性连接起来,能够将输入和产生的输出按照流水线顺序处理。
用户群:Apache Lenya、Daisy CMS、Hippo CMS、Mindquarry等等,Apache Cocoon通常被作为一个数据抽取、转换、加载工具或者是系统之间传输数据的中转站。 SpamAssassin是一个由Apache开发的一个著名的反垃圾引擎,邮件系统完整的集成了SpamAssassin反垃圾引擎。SpamAssassin中包含了各种各样的垃圾邮件监测技术,其中包括基于DNS和checksum的垃圾邮件监测、Bayesian过滤、外部程序、黑名单和在线数据库等。
用户群:SpamAssassin被数以千计的独立开发商和用户所采用,并被作为数个商业产品的主要成分. Apache Axis是一个基于SOAP应用的框架,核心是一个SOAP处理器,用于开发包括客户端,服务器端,SOAP Gateway等各种应用。
用户群:WSO2、MuleSource IBM、Progress Software等。 Apache Logging Services项目主要是为了提供应用程式除错以及监督的日志登录服务。Apache Logging Services项目的产品包括三个日志登录框架,分别为log4j for Java、log4cxx for C++以及log4net for the Microsoft .NET framework。Apache Logging Services还被应用于日志查看器和分析工具Chainsaw中。
用户群:Apache Logging在Java开发中无处不在。 Commons是一个主要专注于可再用Java组件所有方面的Apache项目。Apache Commons项目由3个部分组成:
*The Commons Proper—可再用Java组件的贮存处;
*The Commons Sandbox—Java组件的开发工作区;
*The Commons Dormant—沙盒组件的贮存库。
用户群:亚马逊Web服务、谷歌。

『肆』 C#中 怎么使用 log4Net 日志文件

log4net(Log For Net)是Apache开源的应用于.Net框架的日志记录工具,详细信息参见Apache网站.它是针对Java的log4j(Log For Java的)姊妹工具.用过log4j的都知道,它功能强大,可配置性灵活,线程安全,对日志的输出管理和级别管理方便。

首先你应该下载log4net.dll并引入到你的项目References中,或者把源代码项目作为你工程的一部分加入到你的工程当中。
使用log4net需要知道其中两个比较重要的概念:logger 和 appender。前者是日志记录对象,后者是日志记录的目标,包括控制台,文件,定量大小的文件,远程广播。也就是说我们使用log4net的过程可以是这样的:获得一个用来记录日志的工具对象logger,然后为logger对象指定日志的记录位置.美妙的是,这一切工作都可以在Web.config配置文件中完成,所用的代码极少.
其配置如下:
先在web.config中的节点下添加如下配置:

用过web.config自定义节点的朋友都知道,还应该配置log4net节点,接下来在节点下添加如下log4net节点配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

从上面的配置中可以看到定义了多个appender,每一个appender就是一个日志记录的目标。root节点指定了选用哪一个 appender. 在这里我选用了LogFileAppender。
到这里配置就基本上完成了,但是怎么使用上面的配置呢?log4net为我们提供了在应用程序启动时加载配置信息的入口,很简单,在Global.asax.cs的Application_Start过程中添加如下代码:
log4net.Config.DOMConfigurator.Configure();
好了,到此为止整个配置过程完成了,下面是怎么调用的问题了。
新建一个log4nettest.aspx页面,在cs文件中添加引用 using log4net;定义本页的一个全局变量:
private static readonly ILog log = LogManager.GetLogger(typeof(log4nettest));
然后在Page_Load中添加如下代码:log.Debug("这是我在使用Log4Net");运行该页面,在C:\下面会生成一个Applog.txt文本文件,打开看看,里面就有你写入的日志。

『伍』 log4是什么意思

表示数学术语:对数

如果ab=n,那么logan=b。其中,a叫做“底数”,n叫做“真数”,b叫做“以a为底的n的对数”。logan=b函数叫做对数函数。对数函数中n的定义域是n>0,零和负数没有对数;a的定义域是a>0且a≠1。

(5)log4net配置工具扩展阅读

对数函数的性质:

1、定点:对数函数的函数图像恒过定点(1,0)

2、单调性:a>1时,在定义域上为单调增函数

3、0<a<1时,在定义域上为单调减函数

4、奇偶性:非奇非偶函数

5、周期性:不是周期函数

对数函数满足对数的运算法则:

1、log(a) (M·N)=log(a) M+log(a) N

2、log(a) (M÷N)=log(a) M-log(a) N

3、log(a) M^n=nlog(a) M

4、log(a)b*log(b)a=1

5、log(a) b=log (c) b÷log (c) a

阅读全文

与log4net配置工具相关的资料

热点内容
天津机场班次时刻表下什么app 浏览:159
微信小程序窗口高度 浏览:598
苹果软件支持导入文件的点读机 浏览:483
苹果应用程序退出干净吗 浏览:108
cad只能在cad里打开文件 浏览:324
异星工厂改配置文件 浏览:821
ug数控编程坐标系怎么移动 浏览:449
我的世界win10版文件路径 浏览:664
瀑布笔刷在ps哪个文件夹 浏览:608
电脑转到苹果手机文件怎么找 浏览:837
安卓qq对对碰 浏览:203
苹果6sapp安装不了软件 浏览:927
安卓44xposed模块 浏览:478
编程猫学校的拼音怎么写 浏览:767
无法在appstore登陆密码 浏览:255
数据和指令存储在哪里 浏览:297
哪里能查到国家宏观数据 浏览:624
数控编程哪个教材好 浏览:167
学编程的手机哪个好 浏览:118
手机如何屏蔽不良网站小米手机 浏览:30

友情链接