Hi,我来晚了!

终于在末日前,发布了我的个人网站!
养草的人:www.joycc.cn

多年的想法得以实现。养草的人,是我的网名。Eric是我的英文名。

本网站托管在阿里云服务器,使用 Nginx、php-fpm、MySQL、Memcached 搭建。

Update 20140415:由于某个原因,现在已经搬到 SAE 上,并且采用轻量化的开源程序 Typecho。

LBS应用:I Just Made Love

哈哈,看到这个标题,你想到了什么?

谷歌的翻译是:我只是做了爱。
有道的翻译是:我刚做了爱。

呃,其实就是这个意思,有网友给出了更形象的译文“我刚嘿咻过”。

这是一朋友前两条分享给笔者的外文网站,当然,有中文版。IJML:I Just Made Love

打开IJML,首先它礼貌地询问您是否愿意授权其获取您的地理位置信息。点击“OK”,或者浏览器左上角的相应按钮,就可以使用IJML啦。

它会将你面前的谷歌地图定位到你所在的城市,并且展示“爱”的标记热点。点击热点可以看到更详细的内容。

请输入图片描述

拖动滚动条,下面还有图例,告诉你什么标记是异性做爱、女同做爱、男同做爱等。

使用了一会,你有没有发现IJML网站的LOGO和loading图标也很可爱,很形象。还有,右上角的语言选项框旁边的国旗处理得像个三角裤。点击“爱爱”标记,可以看到添加该标记的人的“爱爱”的细节,比如姿势、环境等。你还可以对它加以评论,以及分享到社交圈子。

正如网站上说的,“IJML在地图上显示了人们做爱的地点”。这些地点及状况是当事人匿名提交的。

如果你也想在地图上标记(偷笑),只要在右侧搜索框找到你要标记的地点,单击右键,会弹出添加表单,填好提交就好了。这样就能让全世界的人看到你们爱过的地点和感受了。当然,只要你不写下你的名字,没人知道你是谁。

放大到世界地图,可以看到欧洲国家以及美国的网友标记的较多。中国地图上也有不少,不过,笔者认为,这些标记一定有不少是假的或者测试的。

这里有IJML的统计资料:爱统计

CSDN网站600万用户密码泄露反映的问题

事件回顾

21日上午,网上开始有人议论说某网站数据库遭泄露。中午以后,陆续有人称已经下载到那份数据,有人证实其账户密码邮箱均准确无误地在那份数据中找到。同时网上多处提供此份数据的下载,下载地址也在一些专业论坛和QQ群被疯狂传播。

当晚20点41分,CSDN网站证实其部分用户数据泄露并致歉,称已向警方报案。

23日,CSDN发布更详细的账号处理办法,锁定存在安全隐患的账号,请用户找回并修改密码。

此次用户信息泄露事件在业内影响很大,本人当天下午在同事下载的那份数据中,试着查找自己的用户名,果然发现自己的用户名、密码、邮箱均准确。当时很震惊,这份200多兆的数据表明,超过600万用户信息被公开。于是,我立马通知朋友、同事,去各大网站改密码。

下面本人简单谈一下此次事件暴露出来的问题

0×01 加密

让人哭笑不得的是,这份数据中的密码竟然是明文存储的,没有经过任何处理。任何下载到这份数据的人,都可以直接看到账号和密码。我认为,这是非常不符合安全规范的做法。这样做,即使你的数据库在你们公司存储得非常妥当,绝对不可能泄露;那如果是公司内部员工,尤其是接触密码等敏感信息数据的技术人员,是不是可以容易看到密码。你能保证他不外漏吗!所以说,对密码这种敏感信息至少要进行加密处理,让任何人都无法直接看到密码原文。

0×02 传播

平常我们听到某某系统数据泄露,都很难得到被泄露的数据,只知道在黑客那里。这次不一样,在听问数据泄露的同时,已经可以轻易地下载到这份数据,几乎是人手一份。当时,我在微博上看到业界一人士谴责CSDN事后处理不当,说CSDN不应该光道歉,应该去截堵下载源,让数据的传播降到最低。据了解,当时金山某员工在微博上分享了一个下载源,事后他承认自己做了件错事。据说,迅雷全面屏蔽CSDN泄露数据,这是好事。

0×03 教训

这次密码泄露的600余万用户,绝大多数都是技术人员。各种IT系统,也是出自他们之手。这次,他们的账号和密码也暴露无遗,简直是个笑话。有网友发微博称,“这次CSDN账号密码泄露事件,算是给广大程序员上一堂生动的课吧。自己尝尝密码被泄露的苦果,以后做网站,得好好做账号系统,好好做安全。”

0×04 OpenID

这次密码泄露事件影响之大的另一个原因是,大多数人在多家网站采用同一个账号和密码。这样记忆方便,但问题也很突出,一家网站数据泄露,就都泄露了。据说,当时有些人拿那份数据的密码去套支付宝的密码。倘若你得支付宝密码也与CSDN的密码一致,那别人就可以登录你得支付宝;如果你的支付密码和登录密码刚好一样,且账户有余额,那就杯具了。

网上也有提供密码管理的工具,就是为了解决要记很多账号密码的烦恼。不过,我还是认为OpenID是更好的解决办法。维基百科对OpenID的解释是,OpenID 是一个去中心化的网上身份认证系统。对于支持OpenID的网站,用户不需要记住像用户名和密码这样的传统验证标记。取而代之的是,他们只需要预先在一个作为OpenID身份提供者(identity provider, IdP)的网站上注册。登录一个支持OpenID的网站非常简单,该网站会引导用户到OpenID服务网站去验证身份,验证成功后会回到要登录的网站且已经登录成功。这样,我们只需要记住一个账号、密码就可以全网通行了,当然这个前提条件是,其他网站都支持你使用的OpenID。

Update 20140427: 对于网站,浏览器端也可以将用户输入的密码加密,然后提交,确保传输的不是明文密码,参见《浏览器端实现MD5加密》。

Linux 命令之 file ——检测文件类型

file

检测一个或多个文件的类型。

用法:

file [OPTION...] [FILE...]

例如检测一个 PHP 文件

file web/index.php
web/index.php:   PHP script text, ASCII text

参数说明:

-b, --brief  在输出的行首,不显示文件名
-L, --dereference  检测符号链接所指向的文件
-z, --uncompress  尝试检测压缩包中的文件
-f, --files-from FILE  从 FILE 文件中读取内容作为参数,FILE 文件中每行一个文件名
-i  不进一步对普通文件进行分类,如果是普通文件,只显示 regular file

Linux 命令之 iconv ——编码转换

iconv

用于文本内容的编码转换,支持多种编码。通过以下命令查看它所支持的编码

iconv -l

或者

iconv --list

参数说明

-f 编码, --from-code=编码        输入文本的编码
-t 编码, --to-code=编码          输出文本的编码

-c                              丢弃无法转换的字符

-s, --silent                    抑制(或忽略)错误信息

-l, --list                      列出支持的编码