2009-01-07

HP-UX sort未明文件处理漏洞

归类于: 最新漏洞公告 - 07 Jan 2009

HP-UX sort未明文件处理漏洞

发布日期:2003-01-17

更新日期:2003-01-22

受影响系统:

HP HP-UX 11.11

HP HP-UX 11.04

HP HP-UX 11.0

HP HP-UX 10.20

HP HP-UX 10.10

HP HP-UX 10.01

描述:BUGTRAQ ID: 6640

HP-UX是一款由惠普公司开发和维护的商业性质UNIX操作系统。

HP-UX中包含的sort工具部分文件处理操作不正确,本地攻击者可以利用这个漏洞进行拒绝服务攻击,或者未授权访问文件。

目前没有提供详细漏洞细节。

建议:厂商补丁:

HP

HP已经为此发布了一个安全公告(HPSBUX0301-237)以及相应补丁:

HPSBUX0301-237:SSRT3454 Security Vulnerability in sort(1)

链接:http://online.securityfocus.com/advisories/4886

补丁下载:

HP HP-UX 10.0 1:

HP Patch PHCO_28142

http://itrc.hp.com/

HP HP-UX 10.10:

HP Patch PHCO_27940

http://itrc.hp.com/

HP …

java设计模式之State(对应每种状态的行为)

归类于: Windows操作系统 - 07 Jan 2009

  State的定义: 不同的状态,不同的行为;或者说,每个状态有着相应的行为.

  何时使用?

  State模式在实际使用中比较多,适合”状态的切换”.因为我们经常会使用If elseif else 进行状态切换, 如果针对状态的这样判断切换反复出现,我们就要联想到是否可以采取State模式了.

  不只是根据状态,也有根据属性.如果某个对象的属性不同,对象的行为就不一样,这点在数据库系统中出现频率比较高,我们经常会在一个数据表的尾部,加上property属性含义的字段,用以标识记录中一些特殊性质的记录,这种属性的改变(切换)又是随时可能发生的,就有可能要使用State.

  是否使用?

  在实际使用,类似开关一样的状态切换是很多的,但有时并不是那么明显,取决于你的经验和对系统的理解深度.

  这里要阐述的是”开关切换状态” 和” 一般的状态判断”是有一些区别的, ” 一般的状态判断”也是有 if..elseif结构,例如:

  if (which==1) state=”hello”;

  else if (which==2) state=”hi”;

  else if (which==3) state=”bye”;

  这是一个 ” 一般的状态判断”,state值的不同是根据which变量来决定的,which和state没有关系.如果改成:

  if (state.euqals(”bye”)) state=”hello”;

  else if (state.euqals(”hello”)) state=”hi”;

  else if (state.euqals(”hi”)) state=”bye”;

  这就是 “开关切换状态”,是将state的状态从”hello”切换到”hi”,再切换到”"bye”;在切换到”hello”,好象一个旋转开关,这种状态改变就可以使用State模式了.

  如果单纯有上面一种将”hello”"hi”"bye”"hello”这一个方向切换,也不一定需要使用State模式,因为State模式会建立很多子类,复杂化,但是如果又发生另外一个行为:将上面的切换方向反过来切换,或者需要任意切换,就需要State了.

  请看下例:

  public class Context{

  private Color state=null;

  public void push(){

  //如果当前red状态 就切换到blue

  if (state==Color.red) state=Color.blue;

  //如果当前blue状态 就切换到green

  else …

java设计模式之Bridge(抽象和行为分开)

归类于: Windows操作系统 - 07 Jan 2009

  Bridge定义 :

  将抽象和行为划分开来,各自独立,但能动态的结合.

  为什么使用?

  通常,当一个抽象类或接口有多个具体实现(concrete subclass),这些concrete之间关系可能有以下两种:

  1. 这多个具体实现之间恰好是并列的,如前面举例,打桩,有两个concrete class:方形桩和圆形桩;这两个形状上的桩是并列的,没有概念上的重复,那么我们只要使用继承就可以了.

  2.实际应用上,常常有可能在这多个concrete class之间有概念上重叠.那么需要我们把抽象共同部分和行为共同部分各自独立开来,原来是准备放在一个接口里,现在需要设计两个接口,分别放置抽象和行为.

  例如,一杯咖啡为例,有中杯和大杯之分,同时还有加奶 不加奶之分. 如果用单纯的继承,这四个具体实现(中杯 大杯 加奶 不加奶)之间有概念重叠,因为有中杯加奶,也有中杯不加奶, 如果再在中杯这一层再实现两个继承,很显然混乱,扩展性极差.那我们使用Bridge模式来实现它.

  如何实现?

  以上面提到的咖啡 为例. 我们原来打算只设计一个接口(抽象类),使用Bridge模式后,我们需要将抽象和行为分开,加奶和不加奶属于行为,我们将它们抽象成一个专门的行为接口.

  先看看抽象部分的接口代码:

  public abstract class Coffee

  {

  CoffeeImp coffeeImp;

  public void setCoffeeImp() {

  this.CoffeeImp = CoffeeImpSingleton.getTheCoffeImp();

  }

  public CoffeeImp getCoffeeImp() {return this.CoffeeImp;}

  public abstract void pourCoffee();

  }

  其中CoffeeImp 是加不加奶的行为接口,看其代码如下:

  public abstract class CoffeeImp

  {

  public abstract void pourCoffeeImp();

  }

  现在我们有了两个抽象类,下面我们分别对其进行继承,实现concrete class:

  //中杯

  public class MediumCoffee …

田鸡粥-愚人笑话

归类于: 笑话 - 07 Jan 2009

父亲、儿子、孙子在一起吃粥。

“这田鸡熬的粥,真是天下美味!”儿子边吃边说,“全靠我捉到田鸡。”

父亲说:“这粥全靠我煮得好,你看,连田鸡骨也煮化了,要不味道哪有这样鲜?”

孙子在一旁笑着说:“刚才我杀田鸡的时候,一不小心让田鸡跑了,粥里哪有田鸡?”

eXtremail <= 2.1.1 (LOGIN) Remote Stack Overflow Exploit

归类于: 0day exploits - 07 Jan 2009

/* extremail-v4.c
*
* Copyright (c) 2006 by
*
* eXtremail …

Java3D的动画展示图(Part1-使用JMF)

归类于: Windows操作系统 - 07 Jan 2009

  在Java 3D场景中插入动画片段使3D内容更加有趣充实.一段动画可以在更令人信服的背景下展示,例如飘动的云,繁忙的城市街道,或者是从窗向外看的效果.动画可以在屏幕效果和游戏效果之间任意转换.

  这篇文章被分为两个部分,描写我怎样实现一个Java 3D动画屏幕效果.在这个部分,我将说明我怎样利用JMF(Java Media Framework),特别是在JMF Performance Pack for Windows v.2.1.1e情况下.我的另外两个工具是J2SE 5.0和Java 3D 1.3.2.我将讨论另外的使用Quicktime for Java的动画屏幕版本.

  图1是应用JMF Movie3D在不同时间截取的两幅截屏,右边截屏是从屏幕后看的效果.

  

  

  图1. Movie3D应用截屏

  此应用程序中重点:

  。JMF和Java 3D的集成.屏幕以任意尺寸成倍增加在一个应用程序.由于屏幕是Java3D的Shape3D类的一个子类,因此它可以很容易的统一到各种Java 3D场景中.

  。程序执行使用Model-View-Controller设计模式.屏幕是一个视频元素,由JMFMovieScreen类描述.动画是一个由JMFSnapper类控制的模型部分.一个Java 3D Behavior类,TimeBehavior,控制动画定时定期更新.所有JMF编码都存放在JMFSnapper类,可以很方便的测试各种变化.这篇文章的第二部分JMFSnapper由QuickTime for Java版本中的QTSnapper取代.

  。Java 3D 的使用将会使动画的播放速度毫无困难的上升到25帧/秒.

  。使用JMF出现问题的讨论.问题是我首选解决方案将不会工作-JMF有可能变为一个巨大的API,但在其内部仍有一些程序没有及时运行.

  1. 我坐在山上

  事实上,我正坐在一个冰冷的办公室.我真正的意思是说这篇文章建立在大量Java 3D和JMF背景知识之上.

  我将不会细致地解释Java 3D的基础知识,因为它们都可以在O’Reilly文章Killer Game Programming in Java(以下简称KGPJ)中找到.例如,图1场景效果图是其第15章中的轻微改良Checkers3D的版本实例.我再生了这些编码以生成底版,蓝天和灯光.

  假如你不想买这本书,没关系,所有篇章的初稿和所有编码都可以在此书的站点查阅.

  在此文章中,我将会解释我用来从动画中抽取帧的JMF技术.我将不会讨论流媒体或者编码转换.

  2. 应用简述

  动画由JMFSnapper类加载播放,并且不断的循环播放直到被停止.

  JMFMovieScreen生成动画屏幕,并在底版上控制Java 3D四边形.

  图2显示这些类的应用(该场景图说明场景中Java 3D节点怎样连接在一起)

  

  

  图2:Movie3D场景图

  图2种的很多细节可以被忽略,此图KGPJ15章中的得Checkers3D实例有很多相似之处. 只有特殊动画的节点是新的.

  由于节点关系,JMFMovieScreen和TimeBehavior对象以三角形表示.JMFSnapper对象不属于这张图,但由JMFMovieScreen调用.

  每40毫秒,TimeBehavior对象调用JMFMovieScreen类中的nextFrame()方法.接下来调用JMFSnapper中的getFrame()方法获取动画中当前播放的帧,由JMFMovieScreen控制成像.

  TimeBehavior是Java …

分享用Java3D做的3D粒子特效

归类于: Windows操作系统 - 07 Jan 2009

  这是一个用java3d 做的3D粒子特效,如果做为屏保棒极了。

  运行后 出现一个控制面板和显示面板,可以在控制面板里面控制显示属性,有很多种变换,自己运行时慢慢欣赏吧。

  A java3d window and an awt control panel window will appear.Use the control panel to alter the various settings.Use the up and down arrows to rotate the particles.There are keyboard mappings for the control panel, but they don’t …

你好吗?-校园笑话

归类于: 笑话 - 07 Jan 2009

在江西的一个学校(师范大学职院)有一个外国学生,他刚学会了一句话:你好吗?到了下课他对他很熟悉的女同学说:你好吗?女同学不理会他。他觉的好象说错了。他接着说:好你吗?女同学也听不懂,她也说:妈你好?然后他觉得对方说对了,跟着说:妈你好!!~~~~~

技术解析:什么是模式?什么是框架?

归类于: Windows操作系统 - 07 Jan 2009

  现在软件设计里到处都是模式,框架。有次朋友问什么是模式?我也在学习中,就我的学习经验,给出以下小结。(注意:个人观点,仅供参考,欢迎指正。)

  1.什么是模式?

  模式,即pattern。其实就是解决某一类问题的方法论。你把解决某类问题的方法总结归纳到理论高度,那就是模式。

  ?

  Alexander给出的经典定义是:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。

  ?

  模式有不同的领域,建筑领域有建筑模式,软件设计领域也有设计模式。当一个领域逐渐成熟的时候,自然会出现很多模式。

  ?

  什么是框架?

  ??

  框架,即framework。其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。

  ?

  2.为什么要用模式?

  ??

  因为模式是一种指导,在一个良好的指导下,有助于你完成任务,有助于你作出一个优良的设计方案,达到事半功倍的效果。而且会得到解决问题的最佳办法。

  ?

  为什么要用框架?

  ??

  因为软件系统发展到今天已经很复杂了,特别是服务器端软件,设计到的知识,内容,问题太多。在某些方面使用别人成熟的框架,就相当于让别人帮你完成一些基础工作,你只需要集中精力完成系统的业务逻辑设计。而且框架一般是成熟,稳健的,他可以处理系统很多细节问题,比如,事物处理,安全性,数据流控制等问题。还有框架一般都经过很多人使用,所以结构很好,所以扩展性也很好,而且它是不断升级的,你可以直接享受别人升级代码带来的好处。

  ??

  框架一般处在低层应用平台(如J2EE)和高层业务逻辑之间的中间层。

  ?

  软件为什么要分层?

  ??

  为了实现“高内聚、低耦合”。把问题划分开来各个解决,易于控制,易于延展,易于分配资源…总之好处很多啦:)。

  3.以下所述主要是JAVA,J2EE方面的模式和框架:

  ??

  常见的设计模式有什么?

  ??

  首先,你要了解的是GOF的《设计模式–可复用面向对象软件的基础》一书(这个可以说是程序员必备的了),注意:GOF不是一个人,而是指四个人。它的原意是Gangs Of Four,就是“四人帮”,就是指此书的四个作者:Erich Gamma,Richard Helm,Ralph Johnson,John Vlissides。这本书讲了23种主要的模式,包括:抽象工厂、适配器、外观模式等。

  ??

  还有其他的很多模式,估计有100多种。

  ?

  软件设计模式太多,就我的理解简单说一下最常见的MVC模式。

  ??

  MVC模式是1996年由Buschmann提出的:

  ??

  模型(Model):就是封装数据和所有基于对这些数据的操作。

  ??

  视图(View):就是封装的是对数据显示,即用户界面。

  ??

  控制器(Control):就是封装外界作用于模型的操作和对数据流向的控制等。

  另外:

  ??

  RUP(Rational Unified Process)软件统一过程,XP(Extreme Programming)极端编程,这些通常被叫做“过程方法”,是一种软件项目实施过程的方法论,它是针对软件项目的实施过程提出的方法策略。也是另一个角度的模式。

  4.常见的JAVA框架有什么?

  ??

  WAF:

  ??

  全称:WEB APPLICATION FRAMEWORK

  ??

  主要应用方面:EJB层,(WEB层也有,但是比较弱)。

  ??

  主要应用技术:EJB等

  ??

  出处:http://java.sun.com/blueprints/code/index.html

  ??

  简述:这是SUN在展示J2EE平台时所用的例子PetStore(宠物商店系统)里面的框架。是SUN蓝皮书例子程序中提出的应用框架。它实现了 MVC和其他良好的设计模式。SUN的网站上有技术资料,最好下载PetStore来研究,WEBLOGIC里自带此系统,源码在bea\weblogic700\samples\server\src\petstore。这是学习了解J2EE的首选框架。

  Struts:

  ??

  主要应用方面:WEB层。

  ??

  主要应用技术:JSP,TagLib,JavaBean,XML等

  ??

  出处:http://jakarta.apache.org/struts/index.html

  ??

  简述:这是APACHE的开源项目,目前应用很广泛。基于MVC模式,结构很好,基于JSP。Jbuilder8里已经集成了STRUTS1.02的制作。

  ?

  简述WAF STRUTS结合的例子:WEB层用STRUTS,EJB层用WAF:

  ??

  JSP(TagLib)――>ActionForm――>Action

  ――>

  Event――>EJBAction――>EJB

  ――>DAO――>Database

  JSP(TagLib) (forward)

预防近视-医疗笑话

归类于: 笑话 - 07 Jan 2009

“医生,请问一下,听说吃红萝卜可以预防近视是真的吗?”

“你怀疑啊?!你有看过兔子带眼镜?”

« 上一页下一页 »