2009年1月26日星期一

大过年的,被rm害苦了……


大过年的,被rm害苦了……
事情是这样的:最近一直在调HCC的新服务器。本来备份的目录是/backup/,但我怕备份太大把/占满了,于是想把它挪到/var/里面去。可是,谁知道我今天什么rp,愣是敲进去了
rm -R /backup /var

于是,/backup和/var就全毁了。真是郁闷极了!这下服务器又得重装了。你说光把/var给删了也就罢了,还把备份的也删了。真是的。
SHIT!!!
rm这条狗屎命令!!!我一定要alias掉你!!!
alias rm='rm -i'


不过,还是春节快乐吧!摆脱rm的阴霾!!!

2009年1月23日星期五

近半年,吾终成维基执行编辑!

近半年,吾终成维基执行编辑!

我的维基生日是2008年7月24日。在2009年1月21日,我快半岁了,我终于成为“维基执行编辑”了!想看看我的用户页吗?来吧!

透露一个消息,维基将在最近推出富文本编辑器(按我理解就是类似于FCKeditor, TinyMCE一类的东西)以方便新手编辑文章。

php常见漏洞及防范措施

最近一直在忙活HCC的新服务器(LAMP!!!),一直在看一些关于安全之类的文章。可是,服务器再安全,如果上面的php/asp等脚本存在漏洞,那也是白忙活。下面,我总结了php常见的几个漏洞(asp等的漏洞也都类似,可以参考)以及防范措施。

漏洞1.SQL注入
这真是极其耳熟能详的漏洞了,曾经害过无数网站。不过,自从php有了“魔术引用”(Magic Quotes),SQL注入可是尝不到任何甜头了。但是,防范于未然,万一人家php版本低呢。可以编这么一个函数来防范:
01 <?php
02 function escape_data ($data)
03 {
04     if (ini_get('magic_quotes_gpc'))
05     {
06         $data = stripslashes($data); //抵消Magic Quotes
07     }
08     if (function_exists('mysql_real_escape_string'))
09     {
10         global $dbc;
11         $data = mysql_real_escape_string
            (trim($data), $dbc);
12     }
13     else
14     {
15         $data = mysql_escape_string(trim($data));
16     }
17     return $data;
18 }
19 ?>
说明一下,mysql_real_escape_string可以根据数据库链接判断字符集,更加安全,但只在较新版本的php中有。
只要将每一个数据库查询语句使用一下这个函数,基本就安全了。或者,更完美的话,可以再用正则表达式检验一下。
当然,还要注意,尽量给用户开放最小的权限。这样,即使被注入了,损失也是有限的。

漏洞2.XSS,跨站脚本
观察如下代码:
1 <?php
2 $name = $_GET['name'];
3 if isset($name)
4 {
5     echo "Hello, $name";
6 }
7 ?>
试想,如果别有用心的人将name写成一些HTML代码,后果将不堪设想。
不过,防范的方法还是比较简单的,只要用htmlspecialchars这个函数就可以了。

漏洞3.错误信息过于详尽
观察如下代码:
01 <?php
02 $result = @mysql_query($query);
03 if ($result) { /* Do something... */ }
04 else
05 {
06     echo 'System error ... ';
07     // ...
08     echo 'Error:' . mysql_error();
09     // ...
10     echo 'Query:' . $query;
11 }
12 ?>
有时,为了调试的方便,将错误信息写得十分详尽。比如说将数据库连接的语句都写出来了。这在网站发布后是不可想象的,需要注意。

呵,这就是我总结的一些常见的漏洞,大家可以留言补充。

2009年1月13日星期二

A Secret Plan - Xplan Stage 1

This is a Secret Plan, named Xplan Stage 1.

Feb.15th - July.1st

You want to know more?

Wait a moment, at July.1st, you will know all.

2009年1月11日星期日

TextMate真是太劲爆了!!!

!!!

!!!

TextMate - The Missing Editor for Mac OS X

HCC买了两台iMac,还有Adobe CS4等软件。最令我不解的是,竟然花了近千元买了两套TextMate。开始,我认为她就是普通的文本编辑器,真是不值,花这么多钱。我上网查了,只是说比较好用。但我想,文本编辑器能好用到哪去啊。我用了很久,仍然认为她只是类似于Gedit一样的东西,只不过界面比较爽。直到今天,我看了几个视频!!!太劲爆了!!!于是,我仔细研究之,发现之确实是写代码的利器!!!用了就会上瘾的!!!网上多人说有人仅为了TextMate去买Mac,开始我是很不解,可现在我了解了。说不定,用着用着,我也会上瘾。她太贴心了。

太强了。太强了!!!代码的补全功能,不是一般意义的补全,真是无敌了。还有Bundles,绝对是一个变态的东西。诸多的快捷键配合Bundles,绝对能节省一半的编程时间。(绝不夸张!!!)

附:视频:
http://macromates.com/screencasts
http://gallery.me.com/jimtkm#gallery

可惜这玩意不支持中文。2.0将支持中文。

39欧元真是值了。

2009年1月1日星期四

今天是2009年1月1日

今天是2009年1月1日,2008年已经过去。

祝所有人在2009年一切顺利!!!

祝我在2009年的科技创新大赛(还有明天小小科学家、信息学竞赛)中取得好成绩!

希望Ubuntu9.04 & 9.10再创佳绩!

祝我在五天后的期末考试中取得好成绩!!!

附:Google今天的Doodle