BASIC(初学者通用符号指令码)是绝大多数开发人员首次被介绍使用的开发语言──至少那些不是在学Basic之前先以FORTRAN, COBOL, 汇编,甚至机器语言作为入门的人如此,比如我。
老程序员都知道BASIC是一门糟糕的语言。从首字母简略词(acronym)到语言的实际结构(包括无法原谅的GoTo命令),程序的安全和BASIC语句都无法结合在一起。
Visual Basic将BASIC转化为一种可使用的程序开发语言,以满足严谨的开发人员所用。然而,Visual Basic也缺乏实际操作中的安全特性。基于此,很多开发人员都选择使用C语言,因为C语言允许程序员在他们的程序中添加加密和其它安全特性。但是C和C++有着自身的缺点,这些缺点包括代码容易受黑客攻击。
虽然微软已经在多年以前就将加密功能添加到Visual Basic,但是很多开发人员还在探讨这一语言可能发生的各种问题。
首先,让我们检查日志记录,尤其是如何使用VB.NET在一个.NET Framework执行日志。事件日志指定你可能进行以下的操作:
事件类型
时间和日期
Source
事件ID
运行这一过程的用户帐号
产生事件的计算机目标
在企业环境中,你可能想要执行多种日志等级和提供分布式程序的中心记录。
.NET Framework提供了Logging Application Block,即使用Microsoft Enterprise Instrumentation Framework (EIF)的一个可重用的代码块。EIF(.NET Framework v. 1.0
SP2或更高版本)最大程度地简化了日志,并提供了.NET中的事件记录和诊断跟踪的统一管理。(EIF不仅仅是面向企业,它还可用于单一服务器的程序。)
例如,从程序中引发一个事件只需要一行VB.NET代码:
EventSource.Application.Raise(adminMessageEvent)
(在C#中也使用相同的代码。)
EIF体系中包含5个重要的部分:
事件计划(Event schema)具有可扩展性,其描述每一事件类型中的数据类型和程序要引发的事件类型。
事件源(Event sources)为与EIF交互和用于引发事件的程序对象。
指令API(Instrumentation API)处理被引发的事件并处理数据,开发人员可以无需改变原始程序的基础上改变事件报告的方式。
EIF中包括三个事件接收器(event sink),以确保事件处于日志存储中:Windows管理指令(Windows Management Instrumentation),Windows 事件日志(Windows Event Log),以及Windows跟踪日志(Windows Trace Log)。
XML配置文件决定了如何将引发事件发送到正确的事件接收器(event sink)中。这也就是开发人员如何设置事件源注册,接收器设置,事件类型,以及事件过滤器。
日志块LB(logging block)为 EIF体系的扩展部分,其具有以下的扩展部分:
格式事件信息
设置日志等级
提供非同步和中心日志
处理Web服务请求跟踪
Meter Web服务
对于安全性而言,事件日志是相当关键的,同样它也是修正程序错误的一种工具。微软通过在EIF中添加Logging Application Block的方式,使得在.NET
Framewor中更加容易地建立和管理事件日志。
本文作者: John McCormick是一位安全管理顾问,在IT领域中深有名气,他已经发表多于15,500篇文章。
责任编辑:李宁
欢迎评论或投稿
|