主页 | 新闻 | 深度报道 | 技术文章 | 开源软件 | 资源站点 | 书讯 | 往日版面  | 网站地图
 Linux 日报 

  LinuxDaily.net  
Linux 日报
信箱 1: linuxdaily.net AT 163.com
信箱 2: linuxdaily.net AT gmail.com
2008年04月21日
星期一

技术文章
总第59期

北京: 阵雨
9℃~16℃
本期技术文章共2页, 这是第2页, 其它页: 1  
关于能提高Java代码可重用性的三个措施

【赛迪网技术社区整理】

本文介绍了三种修改现有代码提高其可重用性的方法,它们分别是:改写类的实例方法,把参数类型改成接口,选择最简单的参数接口类型。

措施一:改写类的实例方法

通过类继承实现代码重用不是精确的代码重用技术,因此它并不是最理想的代码重用机制。换句话说,如果不继承整个类的所有方法和数据成员,我们无法重用该类里面的单个方法。继承总是带来一些多余的方法和数据成员,它们总是使得重用类里面某个方法的代码复杂化。另外,派生类对父类的依赖关系也使得代码进一步复杂化:对父类的改动可能影响子类;修改父类或者子类中的任意一个类时,我们很难记得哪一个方法被子类覆盖、哪一个方法没有被子类覆盖;最后,子类中的覆盖方法是否要调用父类中的对应方法有时并不显而易见。

任何方法,只要它执行的是某个单一概念的任务,就其本身而言,它就应该是首选的可重用代码。为了重用这种代码,我们必须回归到面向过程的编程模式,把类的实例方法移出成为全局性的过程。为了提高这种过程的可重用性,过程代码应该象静态工具方法一样编写:它只能使用自己的输入参数,只能调用其他全局性的过程,不能使用任何非局部的变量。这种对外部依赖关系的限制简化了过程的应用,使得过程能够方便地用于任何地方。当然,由于这种组织方式总是使得代码具有更清晰的结构,即使是不考虑重用性的代码也同样能够从中获益。

在Java中,方法不能脱离类而单独存在。为此,我们可以把相关的过程组织成为独立的类,并把这些过程定义为公用静态方法。

例如,对于下面这个类:

安全课堂:不受侵扰 电脑安全防护7种武器

有人就有江湖,有江湖就有是非,是非没有大小,只能一争高下而已。现实生活中已是刀光剑影,网络世界里也是明抢与暗箭齐发,蠕虫、木马、鸽子、熊猫……让你防不胜防。黑客与“肉鸡”之间的攻防战就未有停息一刻过。不过当今的“肉鸡”已渐成长,早不似最初的不堪一击,毫无反击之力。君若问有何法宝利器,“七种武器”伴君傲游“江湖”!

1 长生剑

加密软件——笑。 无论有多大困难都要笑一笑!

“一个人只要懂得利用自己的长处,根本不必用武功也一样能够将人击倒。”加密软件的长处是“笑”——无论多么强劲的病毒对手,也比不上那动人的一“笑”。

加密软件的“笑”即是其无人能敌的“加密算法”,任你黑客多么刁钻,多么强悍,我不留任何空隙,即便加密软件无法反击病毒木马,但是同样可以将入侵者击倒。当前国际上流行的“ RSA ”算法已被公认为无法破解的密码,美国的 PGP 加密软件和国内的『大狼狗加密专家』即采用此算法对资料进行加密。经“ RSA ”算法加密的密文,窃取者穷尽毕生精力也无法将其解开。所以笔者将加密软件列为七种武器之首。

2 孔雀翎

防病毒软件——信心。

有电脑必有 防病毒 软件,就算天才似比尔盖茨,其电脑内也必装有 防病毒 软件。网络世界里的网络暴民大有人在,但是“裸奔者”可谓是凤毛麟角,千年一遇了。

防病毒软件的威力在于无论面对多大困难,多么难解决的病毒,它都毫不畏惧,信心十足。即便病毒暂时无法解决,但是防病毒软件有信心在短时间内研究出破解的办法将其除掉。国内知名的瑞星、江民等防病毒软件已经受住大众用户的考验。

3 碧玉刀

扫描分析工具——诚实。

有时用户会发现电脑出现异常,但是其它“武器”又暂时毫无反应时,“碧玉刀”——扫描分析类软件即可为你找出根源,“诚实”地将问题展现在你面前。

这类软件可以扫描电脑状态并根据问题为用户提供建议,如 HijackThis 等软件,即可真实的显现出电脑存在的问题。

安全课堂:交换机应用中六种安全设置介绍

L2-L4 层过滤

现在的新型交换机大都可以通过建立规则的方式来实现各种过滤需求。规则设置有两种模式,一种是MAC模式,可根据用户需要依据源MAC或目的MAC有效实现数据的隔离,另一种是IP模式,可以通过源IP、目的IP、协议、源应用端口及目的应用端口过滤数据封包;建立好的规则必须附加到相应的接收或传送端口上,则当交换机此端口接收或转发数据时,根据过滤规则来过滤封包,决定是转发还是丢弃。另外,交换机通过硬件“逻辑与非门”对过滤规则进行逻辑运算,实现过滤规则确定,完全不影响数据转发速率。

802.1X 基于端口的访问控制

为了阻止非法用户对局域网的接入,保障网络的安全性,基于端口的访问控制协议802.1X无论在有线LAN或WLAN中都得到了广泛应用。例如华硕最新的 GigaX2024/2048等新一代交换机产品不仅仅支持802.1X 的Local、RADIUS 验证方式,而且支持802.1X 的Dynamic VLAN 的接入,即在VLAN和802.1X 的基础上,持有某用户账号的用户无论在网络内的何处接入,都会超越原有802.1Q 下基于端口VLAN 的限制,始终接入与此账号指定的VLAN组内,这一功能不仅为网络内的移动用户对资源的应用提供了灵活便利,同时又保障了网络资源应用的安全性;另外, GigaX2024/2048 交换机还支持802.1X的Guest VLAN功能,即在802.1X的应用中,如果端口指定了Guest VLAN项,此端口下的接入用户如果认证失败或根本无用户账号的话,会成为Guest VLAN 组的成员,可以享用此组内的相应网络资源,这一种功能同样可为网络应用的某一些群体开放最低限度的资源,并为整个网络提供了一个最外围的接入安全。

流量控制(traffic control)

交换机的流量控制可以预防因为广播数据包、组播数据包及因目的地址错误的单播数据包数据流量过大造成交换机带宽的异常负荷,并可提高系统的整体效能,保持网络安全稳定的运行。

SNMP v3 及SSH

安全网管SNMP v3 提出全新的体系结构,将各版本的SNMP 标准集中到一起,进而加强网管安全性。SNMP v3 建议的安全模型是基于用户的安全模型,即USM.USM对网管消息进行加密和认证是基于用户进行的,具体地说就是用什么协议和密钥进行加密和认证均由用户名称(userNmae)权威引擎标识符(EngineID)来决定(推荐加密协议CBCDES,认证协议HMAC-MD5-96 和HMAC-SHA-96),通过认证、加密和时限提供数据完整性、数据源认证、数据保密和消息时限服务,从而有效防止非授权用户对管理信息的修改、伪装和窃听。

至于通过Telnet 的远程网络管理,由于Telnet 服务有一个致命的弱点——它以明文的方式传输用户名及口令,所以,很容易被别有用心的人窃取口令,受到攻击,但采用SSH进行通讯时,用户名及口令均进行了加密,有效防止了对口令的窃听,便于网管人员进行远程的安全网络管理。

Syslog和Watchdog

交换机的Syslog 日志功能可以将系统错误、系统配置、状态变化、状态定期报告、系统退出等用户设定的期望信息传送给日志服务器,网管人员依据这些信息掌握设备的运行状况,及早发现问题,及时进行配置设定和排障,保障网络安全稳定地运行。

Watchdog 通过设定一个计时器,如果设定的时间间隔内计时器没有重启,则生成一个内在CPU重启指令,使设备重新启动,这一功能可使交换机在紧急故障或意外情况下时可智能自动重启,保障网络的运行。

双映像文件

一些最新的交换机, 像A S U SGigaX2024/2 048还具备双映像文件。这一功能保护设备在异常情况下(固件升级失败等)仍然可正常启动运行。文件系统分majoy和 mirror两部分进行保存,如果一个文件系统损害或中断,另外一个文件系统会将其重写,如果两个文件系统都损害,则设备会清除两个文件系统并重写为出厂时默认设置,确保系统安全启动运行。

责任编辑:董建伟

原文链接: http://tech.ccidnet.com/art/1099...

初学者如何开发出一个高质量的J2EE系统

【赛迪网技术社区整理】

J2EE学习者越来越多,J2EE本身技术不断在发展,涌现出各种概念,本文章试图从一种容易理解的角度对这些概念向初学者进行解释,以便掌握学习J2EE学习方向。

首先我们需要知道Java和J2EE是两个不同概念,Java不只是指一种语言,已经代表与微软不同的另外一个巨大阵营,所以Java有时是指一种软件系统的流派,当然目前主要是.NET和Java两大主流体系。

J2EE可以说指Java在数据库信息系统上实现,数据库信息系统从早期的dBase、到Delphi/VB等C/S结构,发展到B/S(Browser浏览器/Server服务器)结构,而J2EE主要是指B/S结构的实现。

J2EE又是一种框架和标准,框架类似API、库的概念,但是要超出它们。如果需要详细了解框架,可先从设计模式开始学习。

J2EE是一个虚的大的概念,J2EE标准主要有三种子技术标准:WEB技术、EJB技术和JMS,谈到J2EE应该说最终要落实到这三个子概念上。

这三种技术的每个技术在应用时都涉及两个部分:容器部分和应用部分,Web容器也是指Jsp/Servlet容器,你如果要开发一个Web应用,无论是编译或运行,都必须要有Jsp/Servlet库或API支持(除了JDK/J2SE以外)。

Web技术中除了Jsp/Servlet技术外,还需要JavaBeans或Java Class实现一些功能或者包装携带数据,所以Web技术最初裸体简称为Jsp/Servlet JavaBeans系统。

谈到JavaBeans技术,就涉及到组件构件技术(component),这是Java的核心基础部分,很多软件设计概念(设计模式)都是通过JavaBeans实现的。

JavaBeans不属于J2EE概念范畴中,如果一个JavaBeans对象被Web技术(也就是Jsp/Servlet)调用,那么JavaBeans就运行在J2EE的Web容器中;如果它被EJB调用,它就运行在EJB容器中。

EJB(企业JavaBeans)是普通JavaBeans的一种提升和规范,因为企业信息系统开发中需要一个可伸缩的性能和事务、安全机制,这样能保证企业系统平滑发展,而不是发展到一种规模重新更换一套软件系统。

技术角度详尽解析盗号木马“键盘记录员”

【赛迪网-IT技术报道】Win32.PSWTroj.OnLineGames.xn.108627是一个盗号木马程序。它利用键盘记录的方法,记录下用户输入的全部信息,进行加密后发送给病毒作者。

病毒名称(中文):键盘记录员108627

威胁级别:★★☆☆☆

病毒类型:偷密码的木马

病毒长度:108627

影响系统:Win9x WinMe WinNT Win2000 WinXP Win2003

病毒行为:

这个病毒是一个盗号木马程序。它利用键盘记录的方法,记录下用户输入的全部信息,进行加密后发送给病毒作者。病毒作者通过一定技术手段,就可以从这些信息中筛选出用户的各类账号和密码。

1.程序运行后,生成文件

%system32%\mmvo.exe
%system32%\mmvo0.dll

%Temp%\snj4.dll 这个文件名是随机的

2.在注册表中添加了注册项,如下:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"mmva"="%system32%\mmvo.exe"

3.木马会自动删除原文件本身;

4.木马可以修改SSDT(系统服务调度表),从而躲过各种杀毒软件查杀的目的;木马将mmvo0.dll注入到explorer进程中,把病毒文件属性设置为系统隐藏加只读,并且监视注册表的修改,把CheckedValue改成0,让用户无法显示隐藏文件,监视用户的鼠标,键盘操作,从而获得用户的游戏账号和密码信息,成功获取信息之后,病毒便将信息加密后以邮件的形式通过SMTP和网页收信空间发送给木马作者。

(责任编辑:李磊)

原文链接: http://tech.ccidnet.com/art/1099...

技术角度详尽解析木马“武装下载器69632”

【赛迪网-IT技术报道】Win32.Troj.DownLoaderT.dl.69632是一个木马下载器程序。它进入用户系统后会注入到桌面进程explorer.exe 和 登录管理器进程winlogon.exe中,执行秘密下载。

病毒名称(中文):武装下载器69632

威胁级别:★★☆☆☆

病毒类型:木马下载器

病毒长度:69632

影响系统:Win9x WinMe WinNT Win2000 WinXP Win2003

病毒行为:

这是一个木马下载器程序。它进入用户系统后会注入到桌面进程explorer.exe和登录管理器进程winlogon.exe中,执行秘密下载。同时,该木马会试图关闭系统自带的错误报告系统和部分杀毒软件,防止用户对它进行查杀。

1.关闭系统错误报告服务(ERSvc):

修改HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PCHealth\ErrorReporting的DoReport、ShowUI、ReportBootOk,键为0。

2.修改注册表项,隐藏文件

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\
Explorer\Advanced\Folder\Hidden\SHOWALL

键值:"CheckedValue"=dword:00000000。    

3.修改日期:

修改系统日期为2005年。

4.创建c:\autorun.inf 文件。

[AutoRun]
open=auto.exe
shellexecute=auto.exe
shell\Auto\command=auto.exe

5.修改注册表、新建服务,并以服务的方式达到随机启动的目的:

HKEY_CURRENT_USER\SYSTEM\CurrentControlSet\Services\dd33gsd2
键值 : 字串 : "ImagePath"="C:\WINDOWS\system32\dd33gsd2.exe -k"
服务名称: dd33gsd2
显示名称: dd33gsd2
描述: dd33gsd2
可执行文件的路径: C:\WINDOWS\system32\dd33gsd2.exe
启动方式:自动

6.查找对话框窗口,判断窗口类是否为"Button",窗口名为"是(&Y)",如果是则向该窗口发送左键按下消息,以关闭该窗口。

7.查找是否存在KAVStart进程,如果存在则向其"操作"菜单发送"退出"命令。

8.从http://al**a.ve**nx.cn/update.txt下载木马地址列表。该列表包含了木马程序的下载地址信息。

(责任编辑:李磊)

原文链接: http://tech.ccidnet.com/art/1099...