关于用户邮箱验证的一个思路

作者:Deepseath | 分类:实验室 | 时间:2010-09-07 00:59

0

当下很多运营或者应用都会引导用户激活验证注册的Email地址,为了确保获得更可靠的用户(虽然可靠性不是很高),同时也为了避免地址不被滥用,尽力获取更优化的用户资源等等,好处是很多的。

一般在验证流程上都很简单,无非是:根据用户登记的Email发送一个验证邮件,用户收到邮件后,访问一个特定的处理链接,系统接收后,便会确认此人Email通过验证激活。

这个方式简单容易,设计也很方便。

但有一个“问题”,某个用户起初登记了一个A地址,然后通过了验证,过了一阵他又将Email改成了B地址,也通过了验证,可过了一阵又因为某种原因他又将Email改回了A地址,可系统仍旧提示未通过验证,这个挺囧的——当然其实也不是什么大不了的问题,不过个人始终觉得这是一个人性化的考虑。已经通过验证了的邮箱为什么还要再次验证呢?

近期在一个项目上也有类似的处理,因为基于该异想天开的想法,我特意费时巴拉的用了一个新的机制,虽然没人能够看到,但我相信多多少少会让用户觉得有点人味的^_^

具体流程其实很简单,无非是增加一个数据表,用来储存经过验证的Email地址,且每个Email对应一个用户id。

当用户通过验证的时候记录下他的id和Email,以及其他信息(比如验证时间等等)

当用户修改Email的时候,先去到这个数据表内查询该记录是否存在(uid和email同时满足),存在了就表面该用户已经通过验证了,不需要再次发送验证邮件。

uid与Email是作为一个唯一性索引键(UNIQUE)存在的。这样可以确保别人冒用这个Email地址的情况也被认为是通过验证的。 也就是说,只有其本人曾经用过的Email地址才会采用跳过验证的机制。

简单说:

用户A曾经验证通过了a、b、c三个Email地址。 那么日后他无论将Email地址修改变换为这三个任意一个的时候,系统都不会提醒他再次去验证。

如果另一个用户B登记了a地址,那么系统还是要提醒他进行验证的,因为数据表记录下验证通过a地址的用户是A而不是B。

以上就是我在项目中关于用户Email地址验证的一个机制(当然实际操作过程中,还要加入一个验证的条件限制等条件,避免用户频繁的请求,关于这部分处理,相信所有的验证机制都会考虑的。),不一定有什么特别重大的作用,不过觉得还是挺有意思的,记录下来分享一下吧。

CKEditor或者FCKEditor编辑器的分页处理

作者:Deepseath | 分类:实验室 | 时间:2010-07-27 15:40

0

CKEditor就是FCKEditor的改名版本,呵呵。基于javascript的前端HTML编辑器,一般做内容管理系统的基本都用过这个编辑器,很强大很方便。

做内容管理某个内容可能文字会很多,分开发表的话不方便维护管理,一般就是直接使用CKEditor的分页功能,说白了这个无非就是类似下面的一段HTML代码:

 

如果要想在前台输出的时候分页是做不到的。我一般会有两种方式进行处理:

1.利用服务端在输出到页面前进行分页。

2.利用前端javascript直接进行分页。

阅读全部 »

建议所有的程序开发者一起来保护MySQL——《拯救MySQL》

作者:Deepseath | 分类:程序人生 | 时间:2010-01-20 10:45

0

对于其他程序不甚了解,但就PHP开发来说,估计99%的人都选择MySQL作为数据库,因为MySQL给大家的印象是轻巧、易用并且最重要的是它有一个免费的社区版本,这个版本同它收费版本是完全一样的区别仅在于它的商业版本提供技术服务而已。

作为一个PHPer来说,我自2000年接触PHP,因为没有任何程序语言基础,所以学习起来挺费劲,一直使用文本储存数据,但真的觉得既麻烦又不安全,然后2001年年初的时候第一次开始接触MySQL,对于我无任何数据库语言概念的人来说上手的确有一点点困难,但我清晰的记得,看完了几个例子以后,我便轻松的了解了MySQL知道了它的强大、易用,而且最主要的是它不像Orlce和SQL Server,它是免费的!!

自那个时候起,我慢慢开始了解了这世上还有一些人,在维护着PHP、维护着MySQL、维护着Apache,我知道了一个名词“开源社区”,知道了还有一个免费的操作系统Linux ,知道这世界上还有一群具有创新、共享精神的人……

到现在,熟练使用并在自己项目上应用部署MySQL已经有接近8年的时间了,从MySQL4.0用到MySQL5.1,这个过程是很奇妙的,我从未担心过什么,因为我知道MySQL精神会继续着 ……

突然有一天,我知道了那个卖得很贵的数据库Orcal的东家甲骨文开始“惦记”着MySQL了 ,就我个人的感觉来说,这不是什么好事,如果这个公司或者其他别有用心的公司去收购MySQL,那么可能会带来的两种情况就是:1.为了维护其自身收费的数据库产品,势必会打压MySQL的开发,致使MySQL慢慢落后于其他数据库,导致它的淘汰;2.将MySQL也变成一个完全收费的产品。我个人可能更容易想到第一种情况,如果是那样,那真的是一个灾难……

为此,包括MySQL的创始人Michael Widenius在内的一些人组织了一个《拯救MySQL》的活动,请求所有MySQL的支持者支持和保护MySQL。

刚刚也在上面签名了,做为能力有限的支持者来说,我也许只能做到这些了。

希望支持MySQL的朋友们,一起来救救MySQL,点击进入这个链接填写表单就可以了:http://www.helpmysql.org/cn/petition

不要害怕E文,呵呵,是多语言的,我给的连接是中文版的^_^

拯救MySQL

拯救MySQL

MySQL字段的取值范围

作者:Deepseath | 分类:日积月累 | 时间:2009-12-24 10:07

0

设计数据库的时候会为表中涉及到的字段设定一个范围,如果不考虑这个取值范围可能会对未来的运营产生或者性能问题或者数据问题。如果实际的取值大于设计的取值则会造成数据无效或丢失导致程序出错,如果实际的取值小于设计的取值虽然不会对程序产生什么错误,但会白白的浪费储存空间导致性能问题。 阅读全部 »

五种开源协议的比较和说明

作者:Deepseath | 分类:网络文摘 | 时间:2009-12-19 18:57

0

为了节省开发周期,大多都会选择一些开源的框架或者工具,涉及到好多好多,比如编辑器CKEditor(原来叫FCKeditor)就是使用GPL, LGPL and MPL协议,而经常用到的jQuery却是GPL和MIT。长久来除了对BSD了解外其他的确有点模棱两可,看到一篇文章介绍几种开源协议的说明感觉不错,摘下来留着学习…… 阅读全部 »

YSlow 2.0.0b3 For firefox 发布啦(提供下载)!

作者:Deepseath | 分类:程序人生 | 时间:2009-05-02 17:30

0

昨天打开Firefox就发现YSlow提示更新了,不过当时更新不了,因为忙也就没理会,今天刚刚抽空打算更新一下,郁闷,死活都下载不了。不过想了个办法终于下载到了yslow-2.0.0b3-fx.xpi文件,哈哈。

YSlow由1.0.2升级到2.0.0b3这个版本号的跨度可够汗的了,应该是有很大的结构性的更新吧,否则版本号不可能这么大的变动的,果然,安装后,发现新版的确变化很大的,而且增加了几个很有用的工具。 阅读全部 »